[MSSQL] SQL 합집합, 교칩합, 차집합 구하기


* SELECT되는 컬럼의 갯수는 일치해야함


SELECT [Column1],[Column2],[Column3],[Column4],[Column5]

FROM [Table1]

WHERE 조건


-- UNION -- 중복을 삭제한 합집합

-- UNION ALL -- 중복을 포함한 합집합

-- EXCEPT -- 차집합

-- INTERSECT -- 교집합


SELECT [Column1],[Column2],[Column3],[Column4],[Column5]

FROM [Table2]

WHERE 조건

[Solution] MSSQL 테이블 변경 에러


테이블 컬럼 설정 변경 시

ex) NOT NULL to Nullable


테이블 컬럼 수정 후 저장 시 아래와 같은 경고 팝업이 뜸 


변경 내용을 저장할 수 없습니다. 변경 내용을 적용하려면

다음 테이블을 삭제하고 다시 만들어야 합니다. 

다시 만들 수 없는 테이블을 변경했거나 

[테이블을 다시 만들어야 하는 변경 내용 저장 사용 안 함]

옵션을 설정했습니다.

 

Solution)


도구 > 옵션 > 디자이너(Designers) > 우측 아래 [테이블을 다시 만들어야 하는 변경 내용 저장 안 함] 체크 해제


[MSSQL] 프로시저(stored procedure)내 문자열 검색, 문자열 찾기

How to find specific text in stored procedure



프로시저내에서 특정 문구를 검색 할 경우 사용


RIGHT WAY)


--1) 

SELECT DISTINCT a.name

FROM sysobjects AS a

LEFT JOIN syscomments AS b ON a.id = b.id

WHERE a.xtype = 'P'

AND b.text LIKE '%[TEXT]%'


--2)

SELECT OBJECT_NAME(object_id), OBJECT_DEFINITION(object_id) 

FROM sys.procedures 

WHERE OBJECT_DEFINITION(object_id) LIKE '%[TEXT]%'



아래와 같은 방법은 ROUTINE_DEFINITION이 nvarchar(4000)의 한계를 가지고 있어서 제대로 된 검색결과가 나오지 않음


WRONG WAY)


SELECT * FROM INFORMATION_SCHEMA.ROUTINES 

WHERE ROUTINE_TYPE='PROCEDURE' 

AND ROUTINE_DEFINITION LIKE '%[TEXT]%'



+ Recent posts