안녕하세요..
TEST 라는 DB에 A,B,C,D,E ... 등의 테이블들이 존재합니다.
모두의 테이블에는 공통된 컬럼 (UsrType)이 존재하며 기본값이 ("online")으로 디자인 되어있습니다.
기존에 저장된 데이터도 있고 앞으로 추가될 데이터도 있는데
기존에 저장된 모든 테이블의 데이터를 ("eshop")으로 모두 바꾸고,
컬럼 기본값도 ("eshop")으로 바꿀 방법이 있나요..
이걸 일일이 update하기에는 테이블수가 너무 많네요ㅠㅜ
혹여 고수님들은 아실까 싶어 글남겨봅니다...
Comment 1
-
초짜해커
2015.04.02 12:42
SELECT 'ALTER TABLE ' + A.NAME + ' DROP CONSTRAINT ' + C.NAME + CHAR(10) + 'GO'FROM SYS.OBJECTS AINNER JOIN SYS.COLUMNS B ON A.OBJECT_ID = B.OBJECT_IDINNER JOIN SYS.DEFAULT_CONSTRAINTS C ON A.OBJECT_ID = C.PARENT_OBJECT_ID AND B.COLUMN_ID = C.PARENT_COLUMN_IDWHERE A.TYPE = 'U' AND B.NAME = 'UsrType'GOSELECT 'ALTER TABLE ' + A.NAME + ' ADD CONSTRAINT DF_' + A.NAME + '_UsrType DEFAULT ''eshop'' FOR UsrType' + CHAR(10) + 'GO'FROM SYS.OBJECTS AINNER JOIN SYS.COLUMNS B ON A.OBJECT_ID = B.OBJECT_IDWHERE A.TYPE = 'U' AND B.NAME = 'UsrType'GOSELECT 'UPDATE ' + A.NAME + ' SET UsrType = ''eshop''' + CHAR(10) + 'GO'FROM SYS.OBJECTS AINNER JOIN SYS.COLUMNS B ON A.OBJECT_ID = B.OBJECT_IDWHERE B.NAME = 'UsrType'GO이 스크립트를 실행하면 스크립트가 출력됩니다.그걸 실행하세요.테스트 먼저 꼭 해보시구요.