2014-06-18 1 views
0

하나의 이미지/텍스트 유형 열이있는 테이블에 대한 트리거를 만들려고합니다. SQL 자체가 Text, NText 및 이미지 column.So 위의 형식 열없이 테이블을 감사하기로 결정했다. 나는 내 데이터베이스의 모든 테이블에 대한 트리거를 생성하는 기존 프로그램 중 하나를 변경하는 중 Trigger 대신 사용하고 싶지 않아요. 내가 삽입 또는 삭제 된 테이블의 열 유형을 확인하기 위해 질의를 필요로한다삽입 또는 삭제 된 Magic 테이블에 대한 열 유형을 확인하는 쿼리가 필요합니다.

SELECT * FROM [inserted] WHERE (COLUMN type is not TEXT/IMAGE/NTEXT)

은 내가 원하는 것입니다.

답변

0

당신이

select DATA_TYPE,* 
from test_db.information_schema.columns 
order by table_name, ordinal_position 

select DATA_TYPE,* 
from test_db.information_schema.columns 
where DATA_TYPE = 'TEXT' or DATA_TYPE='IMAGE' or DATA_TYPE='NTEXT' 
order by table_name, ordinal_position 

select DATA_TYPE,* 
from test_db.information_schema.columns 
where TABLE_NAME='inserted' and ( DATA_TYPE not in('TEXT', 'IMAGE','NTEXT')) 
order by table_name, ordinal_position 
+0

test_db DATA_TYPE 변화를 사용할 수 있습니다 삽입합니까 표 INFORMATION_SCHEMA.COLUMNS에서 참조가? –

+0

네, 그냥 마지막 쿼리를 실행, 당신을 위해 * 그냥 information_schema에있는 모든 열을 볼 떠나; ('TEXT', 'IMAGE', 'NTEXT')에없는 경우 TABLE_NAME = 'inserted'이고 DATA_TYPE은 테이블 만 표시합니다. 모든 테이블을 보려면 TABLE FILTER를 제거하십시오. 여기서 (DATA_TYPE ('TEXT' , 'IMAGE', 'NTEXT')) DATA_TYPE이 아님 –

관련 문제