ASP 및 저장 절차에 대한 기사가 많이 있지만 저자가 실제로 연습했다고 의심합니다. 처음에 있었을 때 많은 관련 정보를 읽었으며 제공된 많은 방법이 실제로는 그렇지 않다는 것을 알았습니다. 간단한 응용의 경우 이러한 재료는 도움이 될 수 있지만 단순히 동일하고 서로 표절되기 때문에 약간 더 복잡한 응용 분야가 모호합니다.
이제 저장 프로 시저를 호출하여 기본적으로 SQLServer에 액세스합니다. 다음 텍스트는 연습 요약이며 모든 사람에게 도움이되기를 바랍니다.
저장된 절차는 데이터베이스에 실행 가능한 개체로 저장된 하나 이상의 SQL 명령입니다.
정의는 항상 추상적입니다. 저장된 절차는 실제로 특정 작업을 완료 할 수있는 일련의 SQL 문자이지만,이 명령문 세트는 데이터베이스에 배치됩니다 (여기서는 SQLServer에 대해서만 이야기 할 것입니다). ASP에서 저장 프로 시저 및 통화 저장 프로 시저를 작성하면 SQL 문과 ASP 코드를 혼합하지 않아도됩니다. 이를 수행하면 최소한 세 가지 이점이 있습니다.
첫째, 효율성을 크게 향상시킵니다. 저장된 절차 자체는 매우 빠르며, 저장된 절차는 데이터베이스와의 상호 작용 수를 크게 줄일 수 있습니다.
둘째, 안전을 향상시킵니다. SQL 문이 ASP 코드에서 혼합되면 코드가 손실되면 라이브러리 구조가 손실되었음을 의미합니다.
셋째, SQL 문의 재사용에 도움이됩니다.
ASP에서 저장된 절차는 일반적으로 명령 개체를 통해 호출됩니다. 다른 상황에 따르면이 기사는 다른 호출 방법도 소개합니다. 설명의 편의를 위해 저장된 절차의 입력 및 출력에 따라 다음과 같은 간단한 분류가 이루어집니다.
1. 단일 레코드 세트에 대한 저장된 절차 만 반환
다음과 같은 저장된 절차가 있다고 가정합니다 (이 기사의 목적은 T-SQL 구문을 설명하는 것이 아니므로 저장된 절차는 코드 만 제공하고 설명하지 않습니다).
/*sp1*/
코드 사본은 다음과 같습니다.
CreateProceduredbo.getUserList
~처럼
SetNocounton
시작하다
선택*Fromdbo. [userInfo]
끝
가다
위의 저장된 절차는 userinfo 테이블의 모든 레코드를 얻고 레코드 세트를 반환합니다. 명령 개체를 통해 저장된 절차를 호출하기위한 ASP 코드는 다음과 같습니다.
'** 명령 개체를 통한 절차 호출 **
Dimmycomm, Myrst
setmycomm = server.createobject ( "adodb.command")
MyComm.ActiveConnection = MyConstr'MyConst는 데이터베이스 연결 문자열입니다
mycomm.commandText = "getUserList" '저장된 절차 이름을 지정하십시오
mycomm.commandtype = 4 '는 이것이 저장된 절차임을 나타냅니다
mycomm.prepared = true '는 SQL 명령을 먼저 컴파일해야합니다
setmyrst = mycomm.execute
setmycomm = 아무것도
저장된 절차에 의해 얻은 레코드 세트는 Myrst에 할당됩니다. 다음으로 Myrst를 운영 할 수 있습니다.
위의 코드에서 명령 유형 속성은 요청 유형을 나타내고 값과 설명은 다음과 같습니다.