본문 바로가기

DB/MS-Sql

(3)
MS-Sql 프로시져, 함수의 특정 문자열 검색하기 프로시져에서 특정 문자열을 검색하기 위해 유용하게 사용하고있는 쿼리이다.ㅎㅎ SELECT ROUTINE_NAME FROM INFORMATION_SCHEMA.ROUTINES WHERE ROUTINE_DEFINITION LIKE '%IsFood=1%' AND ROUTINE_TYPE='PROCEDURE' order by ROUTINE_NAME ROUTINE_DEFINITION = 'IsFood'와 같이 특정 문자열을 WHERE절에 추가하여 색인이 가능하다. ROUTINE_TYPE은 'FUNCTION', 'PROCEDURE' 등..이 있고 본인은 보통 특정 문자열을 모든 프로시져에서 검색하기 때문에 LIKE를 주로 사용한다.
msSql 간단한 Transaction 사용하기 MS SQL에서의 간단하게 Transaction을 사용 할 수 있다. Example BEGIN TRAN InsertTransaction_ -- 사용자의 Transaction Name DELETE tbl_Example WHERE GroupID = 1 INSERT INTO tbl_Example VALUES (1,1,'Dev') IF @@ERROR 0 GOTO TransactionError -- ERROR가 발생하였다면 TransactionError로 이동 COMMIT TRANSACTION InsertTransaction_RETURN 1 -- 정상으로 커밋시 RETURN 할 코드 값 TransactionError:ROLLBACK TRANSACTION InsertTransaction_RETURN -1 -- 오류..
테이블 시퀀스값 재설정 (자동증가값 재설정) 테이블의 자동증가값을 재설정이 필요할때가 있다. 테이블의 시퀀스값을 어떠한 코드값으로 사용하면 안되겠지만 사용하였을 경우 EX ) 예제 테이블에 값을 넣어보자 SELECT * FROM tbl_Test INSERT INTO tbl_Test (Kinds) VALUES ('Sedan')INSERT INTO tbl_Test (Kinds) VALUES ('SUV')INSERT INTO tbl_Test (Kinds) VALUES ('Coupe') 다른 분류의 데이터 Insert시 No_를 91로 시작하고 싶을때 ex ) DBCC CHECKIDENT('테이블명',RESEED,'시작하고 싶은 No - 1') DBCC CHECKIDENT('tbl_Test ',RESEED,'90') INSERT INTO tbl_Test ..