본문 바로가기

Dev

[MS-SQL] Split Function split를 테이블로 반환해 준다. CREATE FUNCTION dbo.spSplit ( @StrValue VARCHAR(1000), -- 분리할 문자열 @SplitChar VARCHAR(1) -- 구분할 문자 ) RETURNS @SPLIT_TEMP TABLE ( VALUE VARCHAR(50) ) AS BEGIN DECLARE @oPos INT, @nPos INT DECLARE @TmpVar VARCHAR(1000) -- 분리된 문자열 임시 저장변수 SET @oPos = 1 -- 구분문자 검색을 시작할 위치 SET @nPos = 1 -- 구분문자 위치 WHILE (@nPos > 0) BEGIN SET @nPos = CHARINDEX(@SplitChar, @StrValue, @oPos ) IF @nPos.. 더보기
[MS-SQL] 테이블 복사하기 select * into 신규테이블 from 원본테이블 단, primary key나 제약조건등은 복사되지 않으니 주의해야함 더보기
[MS-SQL] Dead lock 방지하기 쿼리를 사용하다 보면 동시에 Insert, Update, Delete가 실행되는 경우가 많은데 이 때 Dead lock를 방지하기 위한 방법 SELECT * FROM tblMember with(nolock) WHERE uid'' 혹은 프로시져 상단에 SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED 같이 써주면 된다. 더보기
[MS-SQL] 테이블 존재 유무 체크 ******** 1 if exists(select * from information_schema.tables where table_name='tblOllagaza') BEGIN DROP TABLE tblOllagaza select N'삭제' END ELSE BEGIN select N'없음' END ******** 2 select * From sysobjects where name='tblOllagaza' 데이터베이스에 테이블이 존재하는지 체크. 더보기
[MS-SQL] 트리거(Trigger) 여러가지 사용방법 Trigger은 Insert, Update, Delete 의 동작이 실행될때 같이 실행되는 펑션 간단한 예제 CREATE TRIGGER [dbo].[test_tg] ON [dbo].[member] -- member라는 테이블의 Trigger FOR INSERT, UPDATE -- Insert나 Update시에 동작함 AS SET NOCOUNT ON DECLARE @memberID varchar(20) select @memberID = memberID FROM INSERTED -- insert 된 테이블에서 memberID를 추출함 INSERT INTO test(test) values (@memberID)-- test 테이블에 Insert된 memberID를 Insert함 SET NOCOUNT OFF 간단.. 더보기

반응형