SQL SERVER 데이터베이스 개발 의 저장 프로 세 스 응용
참조:
SQL SERVER 온라인 총서 의 정의:저장 과정 은 사용자 가 제공 한 인 자 를 받 아들 이 고 되 돌려 줄 수 있 는 Transact-SQL 문장의 집합 입 니 다.영구적 으로 사용 할 수 있 는 프로 세 스 를 만 들 거나 세 션 에서 임시로 사용 하거나 모든 세 션 에서 임시로 사용 할 수 있 습 니 다(전역 임시 프로 세 스).Microsoft SQL Server 가 시 작 될 때 자동 으로 실행 되 는 저장 프로 세 스 를 만 들 수도 있 습 니 다.저장 과정 을 사용 하려 면 먼저 우 리 는 기본 적 인 T-SQL 문 구 를 익 혀 야 한다.저장 과정 은 T-SQL 문 구 를 구성 하기 때 문 이 고 함수,과정 에 관 한 개념 을 알 아야 한다.왜냐하면 우 리 는 응용 프로그램 에서 저장 과정 을 호출 해 야 하기 때문이다.마치 우리 가 응용 프로그램의 함 수 를 호출 하 는 것 과 같 지만 호출 방법 은 약간 다르다.다음은 저장 과정의 수립 과 사용 방법 을 살 펴 보 자.1.저장 과정 을 만 드 는 것 은 데이터 시트 와 마찬가지 로 사용 하기 전에 저장 과정 을 만들어 야 합 니 다.간단 한 문법 은 다음 과 같 습 니 다.
참조:
CREATE PROC 저장 프로시저 이름 [매개 변수 목록(여러 개","로 구분)]ASSQL 문장 예:
참조:
CREATE PROC upGetUserName@intUserId INT,@ostrUserName NVARCHAR(20) OUTPUT -- 출력 할 인자 ASBEGIN -- uName 의 값 을@ostrUserName 변수,즉 출력 할 인자 에 부여 합 니 다. SELECT@ostrUsername=uName FROM uUser WHERE uId=@intUserIdEND 에서 CREATE PROC 문구(전체 문 구 는 CREATE PROCEDURE)는 SQL SERVER 에 게 현재 저장 과정 을 만들어 야 한 다 는 뜻 입 니 다.upGetUserName 은 저장 과정 이름 입 니 다.@intUserId 와@ostrUsername 은 각각 이 저장 과정의 두 매개 변수 입 니 다.주의 하 세 요.SQL SERVER 에서...모든 사용자 가 정의 하 는 변 수 는'@'으로 시작 합 니 다.OUTPUT 키 워드 는 이 매개 변 수 를 출력 하 는 데 사 용 됩 니 다.AS 다음 에 저장 과정 내용 입 니 다.이 코드 를'조회 분석 기'에서 한 번 만 실행 하면 SQL SERVER 는 현재 데이터베이스 에'upGetUserName'이라는 저장 과정 을 만 듭 니 다.'기업 관리자'를 열 고 현재 작업 중인 데이터 베 이 스 를 선택 한 다음 왼쪽 트 리 목록 에서'저장 과정'을 선택 할 수 있 습 니 다.이 때 오른쪽 목록 에서 방금 만 든 저장 과정 을 볼 수 있 습 니 다(없 으 면 새로 고침 하면 됩 니 다).2.저장 프로 세 스 가 호출 되 기 전에 저 희 는'upGetUserName'이라는 저장 프로 세 스 를 만 들 었 습 니 다.이 저장 프로 세 스 의 기능 은 한 사용자 의 이름 을 얻 는 데 사 용 됩 니 다.저장 프로 세 스 가 구축 되 었 습 니 다.다음은 응용 프로그램 에서 호출 되 어야 합 니 다.다음은 ASP 프로그램 에서 호출 되 는 것 을 보 겠 습 니 다.
참조:
Dim adoComm'//대상 을 만 듭 니 다.저장 프로시저 Set adoComm=CreateObject("ADODB.Command")With adoComm 을 호출 합 니 다. '// 연결 설정,연 결 된 ADODB.Connection 대상 으로 adoConn 설정 .ActiveConnection = adoConn '// 형식 은 저장 프로시저,adcmdStoredProc=4 .CommandType = 4 '// 저장 프로시저 이름 .CommandText = "upGetUserName" '// 사용자 번호 설정 .Parameters.Item("@intUserId").Value = 1 '// 실행 메모리 프로 세 스 .Execute '// 저장 프로시저 에서 되 돌아 오 는 사용자 이름 가 져 오기 Response.Write"사용자 이름:"&.Parameters.Item("@ostrUsername").ValueEnd With'//방출 대상 Set adoComm=Nothing 은 상기 두 단 계 를 통 해 간단 한 저장 과정 을 만 들 고 사용 할 수 있 습 니 다.다음은 저장 과정의 응용 을 좀 더 이해 하기 위해 약간 복잡 한 저장 과정 을 살 펴 보 자.3.저장 과정의 실제 응용 사용자 로그 인 은 ASP 프로젝트 에서 자주 사 용 됩 니 다.많은 친구 들 이 비슷 한 시스템 을 만 들 었 다 고 믿 지만 저장 과정 을 사용 하여 친 구 를 검증 하 는 것 이 많 지 않 을 수 있 습 니 다.그러면 우 리 는 이 를 예 로 들 어 간단 한 사용자 로그 인 인증 의 저장 과정 을 작성 합 니 다.
참조:
CREATE PROC upUserLogin@strLoginName NVARCHAR(20),@strLoginPwd NVARCHAR(20),@blnReturn BIT OUTPUTAS--암 호 를 저장 할 임시 변 수 를 정의 합 니 다 DECLARE@strPwd NVARCHAR(20)BEGIN -- 표 에서 현재 사용자 의 암 호 를 조회 하고@strPwd 변 수 를 할당 합 니 다.다음은 그 를 비교 해 야 합 니 다. SELECT @strPwd=uLoginPwd FROM uUser WHERE uLoginName=@strLoginName IF @strLoginPwd = @strPwd BEGIN SET @blnReturn = 1 -- 사용자 마지막 로그 인 시간 업데이트 UPDATE uUser SET uLastLogin=GETDATE() WHERE uLoginName=@strLoginName END ELSE SET@blnReturn=0END 사용자 로그 인 저장 프로 세 스 가 만 들 어 졌 으 니 이제 프로그램 에서 시도 해 보 세 요.한 영역 에 여러 개의 문구 가 있 을 때 는 BEGIN...END 키 워드 를 사용 해 야 합 니 다.
참조:
Dim adoComm'//대상 을 만 듭 니 다.저장 프로시저 Set adoComm=CreateObject("ADODB.Command")With adoComm 을 호출 합 니 다. '// 연결 설정,연 결 된 ADODB.Connection 대상 으로 adoConn 설정 .ActiveConnection = adoConn '// 형식 은 저장 프로시저,adcmdStoredProc=4 .CommandType = 4 '// 저장 프로시저 이름 .CommandText = "upUserLogin" '// 로그 인 이름 설정 .Parameters.Item("@strLoginName").Value = "admin" '// 로그 인 비밀번호 설정 .Parameters.Item("@strLoginPwd").Value = "123456" '// 실행 메모리 프로 세 스 .Execute '// 로그 인 성공 여 부 를 판단 합 니 다 If .Parameters.Item("@blnReturn").Value = 1 Then Response.Write"로그 인 성공 을 축하합니다!" Else Response.Write"아니 죠?틀린 것 같은 데..." End IfEnd With'//방출 대상 Set adoComm=Nothing 은 위의 절 차 를 통 해 간단 한 사용자 로그 인 검증 과정 도 마 쳤 습 니 다.이 제 는 프로그램 에 통합 하면 간단 한 사용자 로그 인 검증 을 실현 할 수 있 습 니 다.다른 세부 사항 은 당신 이 직접 처리 하 세 요.위 에서 소개 한 두 개의 저장 과정 은 모두 하나의 값 만 되 돌려 주 는 것 이다.다음은 하나의 기록 집합 을 되 돌려 주 는 저장 과정 을 살 펴 보 자.
참조:
CREATE PROC upGetUserInfos@intUserGroup INTASBEGIN -- 데이터베이스 에서 조건 에 맞 는 데 이 터 를 추출 하 다. SELECT uName,uGroup,uLastLogin FROM uUser WHERE uGroup=@intUserGroup -- 일렬 합계 삽입 UNION SELECT'합계 인원:',COUNT(uGroup),NULL FROM uUser WHERE uGroup=@intUserGroupEND 이제 ASP 프로그램의 호출 을 살 펴 보 겠 습 니 다.
참조:
Dim adoCommDim adoRt'//대상 을 만 듭 니 다.저장 프로시저 Set adoComm=CreateObject("ADODB.Command")Set adoRs=CreateObject("ADODB.Recordset")With adoComm 을 호출 합 니 다. '// 연결 설정,연 결 된 ADODB.Connection 대상 으로 adoConn 설정 .ActiveConnection = adoConn '// 형식 은 저장 프로시저,adcmdStoredProc=4 .CommandType = 4 '// 저장 프로시저 이름 .CommandText = "upGetUserInfos" '// 사용자 그룹 설정 .Parameters.Item("@intUserGroup").Value = 1 '// 저장 프로 세 스 를 실행 합 니 다.상기 몇 가지 예 와 달리 RecordSet 의 Open 방법 을 사용 합 니 다. adoRs.Open adoComm '// 첫 번 째 값 보이 기 Response.write adoRs.Fields(0).ValueEnd With'//방출 대상 Set adoRs=NothingSet adoComm=Nothing 어 떻 습 니까?간단 하지 않 습 니까?하지만 저장 과정의 용 도 는 이것 뿐만 아니 라 더 강력 한 기능 도 있 습 니 다.예 를 들 어 커서,임시 표를 사용 하여 여러 표,심지어 여러 데이터 베이스 에서 데 이 터 를 호출 한 다음 에 사용자 에 게 되 돌려 줍 니 다.이것들 은 사용 과정 에서 천천히 발굴 할 수 있다.자,저장 프로 세 스 응용 은 여기까지 소개 하 겠 습 니 다.만약 에 본 논문 에 대해 궁금 한 점 이 있 으 면 댓 글 을 달 아 주 십시오.저 는 최선 을 다 해 해답 을 드 리 겠 습 니 다.다음 에는 트리거 애플 리 케 이 션 을 소개 해 드 리 겠 습 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Redash를 사용할 때 몰랐던 SQL을 쓰는 법을 배웠습니다.최근 redash에서 sql을 쓸 기회가 많고, 이런 쓰는 방법이 있었는지와 sql에 대해 공부를 다시하고 있기 때문에 배운 것을 여기에 씁니다. Redash란? 월별로 데이터를 표시하고 싶습니다 주별로 데이터를 표...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.