paradox db이구요 sql을 사용해서 insert, update, delete를 하고 있습니다..
그런데 db설계를 최적화한다고 해서 했는데 한가지 문제 발생했습니다...
어느 검색조건에 의해 하나의 필드의 내용을 update해야 하는데 update에서는
select처럼 알리아스가 통하지 않네요...
특정필드에 대해 2개이상의 화일내에서 검색조건에 맞는 내용을 모두 update
하는 방법이 없나요...
아래의 문장같이 했을때 에러가 생기는데 이것을 효과적으로 한느 방법을
고수님들이 가르쳐주십시요...
SQL.Add('Update 거래처 a, 업체구분 b');
SQL.Add('Set a.gub1 = ''@''');
SQL.Add('Where a.구분코드 = b.코드');
if Edit1.Text <> '' then SQL.Add(' and b.대구분 like
''%'+Edit1.Text+'%''');
if Edit2.Text <> '' then SQL.Add(' and b.중구분 like
''%'+Edit2.Text+'%''');
if Edit3.Text <> '' then SQL.Add(' and a.상호 like
''%'+Edit3.Text+'%''');
참고로 하나하나 돌리면서 update하는 방법은 있는데 전에 사용해보니
레코드수에 비례해 속도가 엄처 느립니다...
그래서 그방법 말고 다른 방법을 가르쳐 주시길...
또 제가 아직은 초보라 좀 상세하게 가르쳐 주셔야...^^
부탁드립니다...
이 방법을 사용해보시구요...
SQL.Add('Update 거래처 ');
SQL.Add('Set gub1 = ''@''');
SQL.Add('Where 구분코드 in ( select 코드 from 업체구분 ');
SQL.Add(' where 1=1');
if Edit1.Text <> '' then
SQL.Add(' and 대구분 like ''%'+Edit1.Text+'%''');
if Edit2.Text <> '' Then
SQL.Add(' and 중구분 like ''%'+Edit2.Text+'%'')');
if Edit3.Text <> '' Then
SQL.Add(' and 상호 like ''%'+Edit3.Text+'%''');
안된다면 업체구분 테이블에서 한번 Select를 하여 나온값을 밑에 다시
값을 전달하는 방법을 사용해보세요...
그럼 즐코여~!