안녕하세요
기존 a라는 테이블을 이용하여 a_h라는 로그테이들을 만들려합니다.
로그 테이블에는 날짜컬럼, 구분 컬럼만 추가 되고 나머지는 똑같이 만들려고 합니다.(pk없도록)
여러테이블에 적용시키기 위하여 information_schema를 이용하여
create문장을 구성하여 보려고 하는데
select 'CREATE TABLE ' + table_name+'_h' + ' ( ' + column_name + ' ' + data_type + '(' + str(character_maximum_length) + ') ' + is_nullable
from INFORMATION_SCHEMA.COLUMNS
이런식으로 컬럼들까지 하나하나 create()문장안에 넣어주고 싶은데 잘안되네요...
혹시 쿼리만으로 가능한지 궁금합니다
create문장만 완성된다면 복사하여 쿼리편집기에서 다 실행하여 테이블을 만들려는게 주목적입니다..
도움좀 부탁드립니다.ㅜㅜ
SELECT 'CREATE TRIGGER trg_' + table_name + '_h ON ' + table_name + ' AFTER INSERT,DELETE,UPDATE AS BEGIN' + ' INSERT INTO ' + table_name + '_h SELECT a.*, GETDATE(), ''D'' FROM deleted a;' + ' INSERT INTO ' + table_name + '_h SELECT a.*, GETDATE(), ''I'' FROM inserted a;' + ' END;' tri_h FROM information_schema.tables ;