SQL에서 변수를 선언하고 선언한 변수에 값을 대입한 다음 조건에 따라 실행을 다르게 할 수 있다.
DECLARE @이름 VARCHAR(10) DECLARE @날짜 VARCHAR(10) DECLARE @QUERY VARCHAR(1000) SET @QUERY = 'SELECT * FROM TBL1 WHERE 1 = 1' IF @이름 <> '' SET @QUERY = @QUERY + ' AND 이름 = ''' + @이름 + '''' IF @날짜 <> '' SET @QUERY = @QUERY + ' AND 날짜 = ''' + @날짜 + '''' EXEC (@QUERY)
아래의 예제는 선언한 변수에 최회한 필드(칼럼)수를 입력하고
만일 필드가 있으면 필드를 삭제하고, 필드가 없으면 필드(칼럼)을 생성하도록 하는 간단한 예제이다.
DECLARE @CNT INT DECLARE @msg VARCHAR(200) SELECT @CNT =count(*) FROM information_schema.COLUMNS WHERE COLUMN_NAME = 'DateTime' IF @CNT<>0 BEGIN ALTER TABLE tblDL DROP COLUMN DateTime PRINT 'Drop Field' END else BEGIN ALTER TABLE tblDL ADD DateTime datetime PRINT 'Add Field' END
'Database > MS-SQL' 카테고리의 다른 글
VC++ SQL 접속(윈도우 서비스 프로그램) (0) | 2017.10.20 |
---|---|
[MS-SQL] SQL Server Express Network 외부원격 연결 설정 방법 (0) | 2017.09.02 |
[MS-SQL] 테이블명, 컬럼명 검색 (0) | 2017.08.30 |
SQL Server 확장 이벤트 (0) | 2017.05.25 |