한 명령문에서이를 수행해야한다는 요구 사항은 프로그램이 SQL 문을 처리하는 방법 때문입니다. SQL 문은 다른 테이블의 열에 저장되고 레코드 세트에서 열기를 통해 실행됩니다. 세미콜론이 명령문에있는 경우 open은 유효하지 않은 문자 오류로 응답합니다.하나의 테이블에 삽입하고 동일한 SQL 문으로 다른 테이블을 업데이트하려면 어떻게해야합니까?
시나리오 : 특정 조건에서 데이터베이스 A의 한 레코드에서 특정 필드를 업데이트하고 삽입으로 로그 테이블에 해당 변경 사실을 기록하려고합니다.
update data_table a set field1='new value' where identifier=10;
insert into log_table (action_taken)
values('record ' || a.identifier || ' had field1 changed to ' || a.field1);
이 작업을 수행 할 수있는 방법이 있나요 :
는 다음 두 문장을 사용하는 예입니다?
두 번째 문을 트리거로 추가 할 수 있습니다 ... – meagar
단일 SQL 문에서 수행 할 수 없습니다. 옵션은 빈약 한 제안 된 트리거 또는 krefftc에서 제안한 저장 프로 시저입니다. – BBlake