안녕하세요 삽잡이입니다.
이번 시간에는 자리 표시자와 저장 프로시저에 대해서 알아보려고합니다.
SQL 명령을 내릴 때 자리 표시자라는 것을 사용할 수 있습니다.
기존의 명령을 때릴 떄와 다르지 않습니까?
값 대신, @를 붙인 것입니다.
즉, 지금이 아니라 나중에 값이 온다는 것을 지정해주는 것입니다.
Command객체는 내부적으로 Parameters 라는 객체를 가지고 있습니다.
이 Parameters 객체에 값을 채워놓을 수 있게 되는 것이지요.
Value 역시 지정을 해주고, 타입등을 지정해줍니다.
명령을 내릴 떄, Parameters를 통해 명령을 내릴 수 있다는 것입니다.
값을 직접 입력해 얻을 수도 있지만,
이렇게 Parameters를 통해서 얻을 수 있다는 것이죠.
이 자리 표시자는
'저장 프로시저'를 사용할 때 진가를 발휘합니다.
저장 프로시저는 DBSM마다 제공해주기도, 혹은 해주지 않기도 합니다.
DBMS는 MS 기준으로 SQL Server입니다.
아무튼...
저장 프로시저는, DBMS의 기능입니다.
따라서, 저장 프로시저를 만드는 방법은 각기 다를 수 있습니다.
저장 프로시저는 쉽게, 함수를 정의하는 것입니다.
저장 프로시저를 만들었습니다.
@ID는 자리표시자로써, 여기서는 매개변수라고 부를 수 있습니다.
DBMS에서는 매개변수라고 부른다 이겁니다.
저장 프로시저에 대한 매개변수가 ID, Name이 있는데,
형식을 적고,
in prameter, out parameter를 명시합니다.
물론, in 파라메터는 생략이 가능합니다.
여기서는 in파라메터인 ID를 받아서
Name을 out 파라메터로써 받아가는 것을 알 수 있습니다.
AS는 정의로써 명령어를 나열하게 되지요.
정리하자면,
저장 프로시저는 SQL 명령을 모아놓은 함수이고, DBMS가 제공해줍니다.
하지만, 모든 DBMS가 제공해주는 것은 아니지요.
이렇게 저장 프로시저를 만들어 놓고,
Command 명령을 내릴 때 기존에 사용했던것과 같이 직접 SQL 명령을 내릴 수 있고,
이렇게 저장 프로시저를 호출하여 Command 명령을 내릴 수 있습니다.
이번 시간은 여기까지 하도록 하겠습니다.
이상 삽잡이였습니다!
<참고 : C# and the .NET4 Platform>
'삽질의 현장 > - .NET' 카테고리의 다른 글
#092_닷넷(.NET)_ ADO.NET - 트랙잭션 (Transaction) (0) | 2015.11.19 |
---|---|
#091_닷넷(.NET)_ ADO.NET - DB 모델링 (0) | 2015.11.19 |
[삽잡이::C#] ADO.NET_Command Type (0) | 2015.11.18 |
#089_닷넷(.NET)_ ADO.NET - DB 라이브러리 (0) | 2015.11.18 |
#088_닷넷(.NET)_ ADO.NET - 또 다른 ADO.NET 데이터 공급자 (0) | 2015.11.17 |