본문 바로가기

DataBase

(13)
[MSSQL]다른 테이블과 JOIN 해서 UPDATE 하기 DB데이터를 UPDATE시 다른테이블과 JOIN하여 업데이트를 할때 사용하는쿼리이다. UPDATE [변경될테이블] SET [컬럼1] = A2.[컬럼1] , [컬럼2] = A2.[컬럼2] FROM [조인테이블] A2 WHERE [변경될테이블].[조건컬럼] = A2.[조건컬럼] UPDATE MEMBER SET REG_USER_ID = ID , REG_DATE = A2.REG_DATE FROM MEMBER_WALLET A2 WHERE MEMBER.CODE = A2.CODE 테이블이 한개가아니라도 일반적인조인문처럼 사용하여 여러개의 테이블 조인이 가능하다. UPDATE [변경될테이블] SET [컬럼1] = A2.[컬럼1] , [컬럼2] = A2.[컬럼2] FROM [조인테이블1] A2 JOIN [조인테이블2] ..
[MSSQL]저장프로시저 내용검색 특정단어가 포함된 저장프로시저를 찾을 때 유용하게 쓰이는 문법 짧은내용 -VARCHAR(4000) 이하 문자열 SELECT * FROM INFORMATION_SCHEMA.ROUTINES WHERE ROUTINE_DEFINITION LIKE '%찾을 내용%' AND ROUTINE_TYPE='PROCEDURE' 긴 내용 -VARCHAR(4000) 이상 문자열 SELECT OBJECT_NAME(object_id), OBJECT_DEFINITION(object_id) FROM sys.procedures WHERE OBJECT_DEFINITION(object_id) LIKE '%찾을 내용%'
[MSSQL] MERGE문 MERGE문 조건일치시 UPDATE 불일치시 INSERT 를 처리하는 SQL문법 MERGE 변경될테이블명 AS A USING 기준테이블명 AS B ON A.컬럼명 = B.컬럼명 WHEN MATCHED THEN 일치할때쿼리문 WHEN NOT MATCHED THEN 불일치할때쿼리문 MERGE [변경될테이블명] AS A1 USING (SELECT '[조건]' AS [컬럼명] ) AS A2 ON A1.[컬럼명] = A2.[컬럼명] WHEN MATCHED THEN UPDATE SET A1.[컬럼] ='[값]' , A1.[컬럼] ='[값]' WHEN NOT MATCHED THEN INSERT (A1.[컬럼],A1.[컬럼],A1.[컬럼]) VALUES ('[값]','[값]','[값]'); ※MERGE 문은 끝에 꼭 ..