>  기사  >  데이터 베이스  >  SQL Server 7.0 시작하기 (6)

SQL Server 7.0 시작하기 (6)

黄舟
黄舟원래의
2016-12-24 17:40:04945검색

저장 프로시저 본문 만들기
저장 프로시저 논리는 저장 프로시저 본문에 있습니다. 저장 프로시저 본문에는 모든 Transact SQL 문이 포함될 수 있습니다. 다음 Transact SQL 문은 저장 프로시저 본문에 나타날 수 없습니다. CREATE DEFAULT
CREATE TRIGGER
CREATE PROCEDURE
CREATE VIEW 1. 부분 변수
지역 변수는 저장 프로시저 중간 값을 보유합니다. 지역 변수는 저장 프로시저에서 값이 여러 번 필요하거나 특정 쿼리의 결과를 후속 쿼리에서 사용해야 하는 경우에 사용됩니다. 이러한 경우 값은 로컬 변수에 저장되며 나중에 사용할 수 있습니다. 지역변수의 이름은 "@" 기호로 시작됩니다. 변수 이름에는 문자와 숫자 값이 포함될 수 있습니다. 지역 변수를 사용하려면 유형 선언이 필요합니다. 지역 변수에 값을 할당하려면 SELECT 문을 사용해야 합니다. SELECT는 테이블에서 값을 검색하여 변수에 할당하거나 상수 값을 변수에 할당할 수 있습니다. 간단한 SELECT 문으로 여러 지역 변수에 값을 할당할 수 있습니다.
예:
DECLARE @var1 정수, @var2 varchar(20)
SELECT @var1 = 32,
   @var2 = 'MyAge'
SELECT 쿼리에서 반환된 데이터가 없는 경우 , 그리고 SELECT는 데이터의 값을 지역 변수에 할당하므로 지역 변수의 값은 변경되지 않습니다.
2. 조건문
저장 프로시저에서 제공하는 조건문은
·IF...ELSE 문입니다.
· WHILE문.
1) IF...ELSE 문. 이 문은 부울 연산 표현식, IF 문 블록 및 ELSE 문 블록의 세 부분으로 구성됩니다. 구문은 다음과 같습니다.
IF (boolen_expr)
{statements}
ELSE
{statements}
IF 또는 ELSE 문 블록에는 여러 개의 문이 있을 수 있습니다. 문 BEGIN이 필요하고 문 블록을 표시하려면 END가 필요합니다.
2) WHILE문. WHILE 문은 특정 조건이 TRUE가 될 때까지 반복적으로 실행되는 명령문을 처리하는 데 사용됩니다. 구문은 다음과 같습니다:
WHILE (boolen_expr)
BEGIN
​​​​문장
BREAK

CONTINUE
END
문 표시 루프 본체. BREAK 문은 루프 실행을 종료합니다(즉, END 문 다음에 옵니다). CONTINUE 문은 루프의 시작(BEGIN 문의 오른쪽)으로 제어 처리를 반환합니다.
참고: 두 개 이상의 WHILE 루프가 중첩된 경우 내부 break는 두 번째 외부 루프를 종료합니다. 내부 루프가 끝난 후의 모든 문은 내부 루프가 실행된 후에도 계속 실행될 수 있습니다.

3. GOTO 문
저장 프로시저 실행 시 순차적으로 명령문이 실행됩니다. GOTO문은 이러한 명령문의 실행 순서를 깨기 위해 사용되며, 특정 명령문으로 즉시 점프하여 실행되며, 이 명령문은 이전 명령문 바로 다음에 오지 않는 경우가 많습니다. GOTO문은 명령문을 식별하는 데 사용되는 레이블(Label)과 함께 사용됩니다.
예:
USE pubs
GO

DECLARE @num int
SELECT
IF @num = 0
GOTO Err
ELSE
BEGIN
PRINT '저자를 찾았습니다'
SELECT * FROM 저작자
GOTO Last
END
Err: PRINT '저자를 찾을 수 없음'
Last: PRINT '실행 완료'
GO
4. RETURN 문
RETURN 문은 저장 프로시저를 무조건 종료하는 데 사용됩니다. RETURN 이후의 모든 문은 더 이상 실행되지 않습니다. RETURN 문은 호출 문에 값을 반환할 수 있지만 NULL 값을 반환할 수는 없습니다. SQL Server는 저장 프로시저에 대한 상태 값을 반환하는 경우가 많습니다. 실행이 성공하면 0이 반환됩니다. 오류가 발생하면 음수 오류 코드가 반환됩니다.
저장 프로시저에서 반환된 오류 코드 치명적이지 않은 내부 문제

-1
객체 누락
-9
시스템 제한 도달

-2
데이터 유형 오류 발생
-10
치명적인 내부 불일치 오류 발생

-3
프로세스가 교착 상태의 피해자로 선택되었습니다.
-11
치명적 내부 불일치 오류 발생

-4
권한 오류 발생
-12
테이블 또는 인덱스 손상

-5
구문 오류 발생
-13
데이터베이스가 손상되었습니다

-6
혼합 사용자 오류 발생
-14
하드웨어 오류 발생

-7
공간 부족 등 리소스 오류


5. 커서(CURSOR) 사용 커서는 행 단위로 처리해야 할 때 매우 유용합니다. 커서는 결과 집합(지정된 기준에 따라 선택된 행)을 열 수 있고 결과 집합을 행별로 처리하는 기능을 제공합니다. 커서의 종류에 따라 롤백되거나 포워딩될 수 있습니다. 커서를 사용할 때 필요한 5단계는 다음과 같습니다.

위 내용은 SQL Server 7.0 시작하기(6)의 내용입니다. 자세한 내용은 PHP 중국어 웹사이트(www.php. CN)!


성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.