프로시저를 만들때 sql 스크립트 작성시 항상 혼란 스러웠던 부분이라 이렇게 정리하게 되었다. 단순 나만의 기준으로 정했기 때문에 혹시라도 이것을 참고하시는 분께서는 오해 없으시기 바랍니다. (괜히 이게 정답!! 이러면 곤란합니다 - 파스칼 표기법 모든 단어의 시작을 대문자로 하는 방법 (GetList) - 카멜 표기법 단어와 단어 사이를 대문자로 구분하는 방법 (getList) - 밑줄 표기법 언더스코어 표기법은 변수를 만들 때, 각 단어를 구분하기 위하여 언더스코어를 사용한다. 1. 키워드, 테이블명는 무조건 대문자로 표시 (단, 자료형은 카멜) 2. 변수는 파스칼 표기법 3. 프로시저명은 파스칼 + 밑줄 표기법 그냥 이정도 이다. 네이밍은 정해진 규약이 없다. 같은 환경에서 개발하는 팀간의 약속으라..
[Dev] DB
희안하게 이 구문만 자꾸 생각이 안나네. UPDATE table1 SET A.col1 = B.col1 FROM table1 AS M JOIN table2 AS S ON M.col2 = S.col2 WHERE M.col3 IS NOT NULL
현재 진행중인 프로젝에서 MSSQL Server 2008을 사용하고 있다. 그외의 mysql, oracle 등등 외부 서버가 기세등등 대기 하고 있지만 웬지 친근감이 들지 않는다ㅋㅋ 가끔 오로코로 보고 싶은 녀석들이 있을때 외친다. Hey~~ come on!! 또 헛소리를 ㅜㅜ SQL Server에서는 Linked Servers 방식을 이용해서 Oracle에 접근하여 데이터를 가져오도록 설정이 되어있다. 지금까지 그냥 아무생각 없이 OPENQUERY() 를 사용하여 쑥쑥 가져왔다. 음.. 음.. 음.. 과연 performance는 어땠을까.?? So Bad!!!!!!! 자 그럼 어떤 점이 문제가 있었는지 간단한 예제를 통해서 알아보자. 예) Insert OPENQUERY (TEST, 'select * f..
--Getdate() Select Getdate() --YYYY/MM/DD Select Convert(varchar(10),Getdate(),111) --YYYYMMDD Select Convert(varchar(10),Getdate(),112) --HH:MM:SS Select Convert(varchar(8),Getdate(),108) --HH:MM:SS:mmm Select Convert(varchar(12),Getdate(),114) --HHMMSS Select Replace(Convert(varchar(8),Getdate(),108),':','') --HHMMSSmmm Select Replace(Convert(varchar(12),Getdate(),114),':','') --YYYY/MM/DD HH:..
무슨 이유인지 모르겠지만 SQL Server 2008 Express 버전을 설치하고보니 외부접속이 막혀있었다. 외부 접속을 허용하는 방법은 '시작-모든 프로그램-Microsoft SQL Server 2008-구성 도구-SQL Server 구성 관리자'의 구성 관리자(Sql Server Configuration Manager)를 실행하면 'SQL Server 구성 관리자(로컬)->SQL Server 네트워크 구성->(인스턴트명)에 대한 프로토콜' 이라는 항목이 있다. 여기서 TCP/IP와 명명된 파이프를 사용하도록 설정하면 된다. TCP/IP는 등록정보를 보면 IP주소 탭에 IPALL의 TCP 포트에 '1433'을 넣고 IP1의 사용도 '예'로 체크되어있는지 확인해야 한다.