dynamic sql .. 어떻게 공부해야 하나요..? 0 4 1,258

by swana [SQLServer] mssql dynamic sql microsoft SQL server 2016 management studio [2017.02.03 04:30:39]


안녕하세요..

이제 막 일하기 시작한 학생입니다..

데이터 베이스라고는 전공수업때 맛보기로 오라클을 사용한 경험밖에 없구요.. 회사에서 msssql을 사용하여 dynamic sql코드를 작성해야 하는데, dynamic sql이라는 것도 처음들어봤고, 구글링해보았지만 실제 어떻게 사용하는지 보여주는 예제들은 별로 없더라구요.. 

dynamic sql에 대해 잘 설명된(개념같은 것 말구 예제가 좀 많이 있으면 좋겠습니다)사이트나 책을 혹시 알고 계신다면 공유하여 주시면 감사하겠습니다.

by 안산공돌이 [2017.02.03 08:28:57]

글쎼요 저도 사이트나 책을 보고 배운것 같진않고, 당시 문제를 해결하기 위해서 구글링에서 참조한 내용으로 조금씩 바꿔가면서 익숙해졌던것 같네요. 핫백업 동적스크립트 이런것 찾아보면서 조금씩 바꿔보세요


by 긍률 [2017.02.03 09:07:13]

동적쿼리라는 말은 들어보셨나요 동적쿼리로 검색해보시면 조금더 자료가 나올거에요 ...


by 마농 [2017.02.03 10:05:30]

정적(static) SQL 은 고정된 형태의 쿼리를 바로 실행하는 것이고
동적(dynamic) SQL 은 쿼리문장을 만들어 낸 후 실행하는 것입니다.
가장 쉽게 구별할 수 있는것이 따옴표 유무입니다.
쿼리문장이 따옴표로 감싸져 있는 경우를 동적쿼리라고 볼 수 있습니다.
텍스트 변수에 쿼리 문장을 담고, 쿼리 문장을 조건에 따라 변경시킨 후에 실행하는 거죠.


그런데.
쿼리 문장을 변경시키는 동적쿼리는 DBMS 영역이 아닙니다.
프로그래밍 영역입니다.
각종 프로그램 언어에서 동적쿼리를 사용하는 것입니다.
프로그램 언어마다 문법은 다르겠지요.
동적쿼리를 구성한 뒤 최종 실행명령을 내릴 때 비로소 DBMS 영역으로 넘어오는 것이구요.
물론 프로그램 언어중에 DBMS 영역에 포함된 언어도 있긴 하죠. PL/SQL


아래는 오라클 기준 PL/SQL 에서 동적쿼리를 사용하는 예시입니다.
MSSQL 과 사용법은 많은 차이가 있을 듯 하지만
개념 이해하는데는 도움이 될 듯 합니다.
http://www.gurubee.net/article/19612


요건 MSSQL 에서 동적쿼리 만들어 실행하는 간단 예제입니다.

DECLARE @v_sql VARCHAR(100)
SET @v_sql  = 'SELECT 1 no '
SET @v_sql += 'UNION ALL SELECT 2 '
EXEC (@v_sql)

 


by swana [2017.02.06 05:39:30]

감사합니다 :)

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입