본문 바로가기
[MSSQL] MERGE를 이용한 INSERT와 UPDATE 한번에 하기 안녕하세요~ 코딩 연습생입니다 코로나 사태 여러분 괜찮으신가요?? 언제쯤 잠잠해질지 참...얼른 백신이나 대책이 나왔으면 좋겠는데 마스크 때문에 숨도 잘 안쉬어지네요~ 그래도 할건 해야겠죠?ㅎㅎ 그래서 저는 매일 출근합니다;;;ㅋ 오늘 포스팅 주제는 MSSQL 쿼리인데요 MSSQL을 접해보신 분들한데는 참 쉬운 정보일수 있지만 혹시 모르시는 분들을 위해서 포스팅 합니다 프로그램을 작성하다가 DB와 Data를 주고 받을때 이미 있는 데이터를 처리하기 위해서 SELECT를 한번 더 해야 하고 중복인지 아닌지를 체크해서 중복이면 UPDATE를 신규이면 INSERT 뭐 이런식으로 프로그램을 많이 했습니다 그런데 이 MERGE라는 함수를 알게 되고 부턴 한번의 쿼리로 INSERT / UPDATE가 조건에 의해 한.. 2020. 3. 18.
[MS-SQL] VARCHAR과 NVARCHAR의 차이?? 안녕하세요 코딩하는 남자의 코딩연습생입니다 이번 중국 프로젝트를 진행하면서 알게된 내용입니다만 혹시 모르시는 분들이 계실까봐 한번 올려 봅니다ㅎㅎ 일반적으로 varcahr은 가변 문자열이라고 하고 nvarchar은 가변 유니코드 문자열이라고 하네요 그래서 프로그램 개발시에 다국어를 염두하고 있다면 MSSQL 연동시에 필드를 nvarchar를 사용해야 한다고 합니다 보통 영문이나 숫자는 1바이트이고 한글이나 중국 간체 등은 2바트로 구성되어지는데 varchar과 nvarchar의 차이가 바로 이 문자 저장 바이트 크기 차이 라고 합니다 소소하지만 저는 모르고 있었던 내용입니다ㅎ 아마 저와 같이 별거 아니지만 모르고 계셨던 분들은 이 블로그를 읽으시고 적용하시면 도움이 되지 않을까 싶습니다~ [테스트 Que.. 2019. 12. 5.
[MS-SQL] 링크 서버 연결하기!! --서버등록 exec sp_addlinkedserver @server='', --링크서버이름 @srvproduct='', --OLEDB 데이터 원본 제품이름 @provider='SQLOLEDB', --공급자고유식별자 @datasrc='', --가져올 DB서버 주소 @provstr='', --OLEDB공급자연결문자열 @catalog='' --가져올 db서버 데이터베이스명 go --서버등록확인 select * from master.dbo.sysservers --연결계정등록 exec sp_addlinkedsrvlogin @rmtsrvname='' --서버이름 @useself='false' --로그인이름사용유무 @locallogin=NULL, --로컬서버로그인여부 @rmtuser='SA', --사용자이름 @rm.. 2019. 6. 12.
[MS-SQL] ALTER TABLE문 사용 방법 1) alter table A alter column name char(10) not null -- char(10) 은 기존 컬럼의 크기 그대로 설정 2) alter table A alter column price money not null ===================== 보라색 부분들은 필수 구문이고요 초록색 부분은 해당 테이블, 컬럼 명 넣는 부분 파랑색부분은 타입 및 , null 설정 부분입니다. >>> ALTER 명령어 정리 > 해당 컬럼을 해당 타입과 NULL 설정으로 변화 2019. 6. 12.
[MS-SQL] NOT EXISTS 사용 방법 테이블의 동일하지 않은 값만 조회하기 위한 조건문. SELECT * FROM AAAAAA WHERE NOT EXISTS(SELECT * FROM BBB WHERE AAA=BBB AND AAA=BBB) 2019. 6. 12.
[MS-SQL]특정 문자열이 포함된 프로시져 찾기!! 안녕하세요. 코딩하는남자 입니다 간혹 DB 쿼리 작성시에 관련 자료를 찾아야 하는데 프로시져명이나 테이블명이 기억나지 않으실때가 많으시죠? 그럴때를 대비해서 특급 정보를 하나 찾아왔습니다 query를 통해 해당 dbms의 프로시져 내용중 특정 문자열이 포함된 프로시져의 정보를 찾는 방법 입니다 SELECT ROUTINE_NAME FROM INFORMATION_SCHEMA.ROUTINES WHERE ROUTINE_DEFINITION LIKE '%특정문자열%' AND ROUTINE_TYPE='PROCEDURE' order by ROUTINE_NAME 2019. 6. 12.