Database 67

procedure에 종속된 잘못된 테이블 찾기

테이블 변경이 가해지는 경우 프로시져에 문제가 발생할 수 있다. 그런 경우를 예방하기 위해서 MS SQL에서는 DMV를 제공한다. 아래 내용은 MSDN의 내용중 프로시져에 관련된 내용을 옭겨 놓은 것이다. 4.비스키마 바운드 열 종속성 반환 다음 예에서는 Table1을 삭제하고 Table2 및 저장 프로시저 Proc1을 만듭니다.이 프로시저는 Table2 및 존재하지 않는 테이블 Table1을 참조합니다.저장 프로시저가 참조 엔터티로 지정되어 sys.dm_sql_referenced_entities 뷰가 실행됩니다.결과 집합에는 Table1에 대한 행 하나와 Table2에 대한 행 세 개가 표시됩니다. Table1이 없기 때문에 열 종속성을 확인할 수 없고 오류 2020이 반환됩니다. is_all_colu..

Database/MS SQL 2013.02.26

SQL Server 2012 New T-SQL 1

아래의 내용은 What's New in SQL Server 2012를 정리한 것입니다. String Function CONCAT 문자열 또는 모든 연산에서 NULL과 연산이 될 경우 결과는 NULL이 된다. 하지만 모든 쿼리 문자열에서 이런 형태를 구현할려면 ISNULL('문자열', '')로 처리를 해야 한다. 그래서 CONCAT이 나온 것 같다. CREATE TABLE #Customer ( FirstName VARCHAR(30) NULL , MiddleName VARCHAR(30) NULL , LastName VARCHAR(30) NULL ) GO INSERT INTO #Customer VALUES ('Rachel', 'Jane', 'Clements') , ('Rachel', NULL, 'Clement..

Database/MS SQL 2013.01.29

특정 문자로 구분되는 데이터 분리 Query (split)

특정 문자로 구분되는 데이터 분리 Query DECLARE @p VARCHAR(MAX) SET @p = '0001,0003,0005' IF @p IS NOT NULL OR @p != '' BEGIN IF RIGHT(@p, 1) = @delimiter BEGIN SET @p = LEFT(@p, LEN(@p) - 1) END END SELECT CONVERT(VARCHAR(10), Y.item.query('text()')) AS val FROM ( SELECT CONVERT(xml, '' + replace(@p, ',', '') + '') AS xitem ) X CROSS APPLY X.xitem.nodes('/r') AS Y(item) The table is example is: TableName: Num..

Database/MS SQL 2012.02.06

sp_who2 LastBatch 문자열 오류 수정

Sp_who2의 결과를 보면 LastBatch가 잘못 출력되는 것을 볼 수 있다. 수정 방법은 select spid ,status ,sid ,hostname ,program_name ,cmd ,cpu ,physical_io ,blocked ,dbid ,convert(sysname, rtrim(loginame)) as loginname ,spid as 'spid_sort' , substring( convert(varchar,last_batch,111) ,6 ,5 ) + ' ' -- + substring( convert(varchar,last_batch,113) ,13 ,8 ) + substring( convert(varchar,last_batch,113) ,12 ,8 ) as 'last_batch_char..

Database/MS SQL 2012.02.05