일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- python
- Django-allauth
- check_password
- allauth
- for loop
- graphene-django
- flask
- SQL
- tkinter Radio 동적버튼
- numpy
- FastAPI
- GraphQL
- array
- Django
- Today
- Total
객
[MSSQL] 저장프로시저1 본문
저장 프로시저의 기본적인 구조는 다음과 같이
CREATE PROC PROC [ROC_NAME] ★PARAMETER 를 선언 하는 부분이다.AS VARIABLE은 PROCCEDURE내에서 사용 되어질 변수를 정의 하는영역이다.
BEGIN CONTROL , STATEMENTS 구문이 들어 가는 부분이다. CONTROL : IF , IF ELSE IF ELSE IF while STATEMENTS 문
END GO |
CREATE PROC MJOIN
@ID NVARCHAR(10),
@PWD NVARCHAR(10),
@NAME NVARCHAR(5),
@NICK NVARCHAR(50),
@IP NVARCHAR(10),
@RESULT BIT OUTPUT
AS
DECLARE @R BIT //프로시저 내에서 사용 되어질 변수명
DECLARE @N NVARCHAR(50) //위의 타입형식과 크기가 같아야 한다.
BEGIN
SELECT @R = COUNT(*) FROM MEMBERS WHERE ME_ID=LOWER(@ID) //정수형을 갓을 리천받음.
//CONUNT() 횟수, 회를 나타난다. LOWER()입력 받은 무자열이 대문자 이면 강제로 소문자로 하여 저장 시킴
BEGIN TRAN //INSERT 는 트랜젝션이 발생 되어 예외 처리를 하였다.
IF @R != 0 //IF 절의 구문형태는 IF BEGIN ~ END으로 나타낼수 있다.
BEGIN
SET @N = @NICK
END
ELSE
BEGIN
SET @N = @NAME
END
INSERT INTO MEMBERS (ME_ID, ME_PWD, ME_NAME , ME_NICK , ME_STATE, ME_INOUT ,ME_IP )
VALUES(LOWER(@ID) , @PWD , @N ,@NICK ,0, 0 , @IP)
INSERT INTO HISTORY(HI_MEID, HI_DATETIME , HI_INOUT)
VALUES(LOWER(@ID) , DEFAULT,0 )
COMMIT TRAN //
SET @RESULT = 1
END TRY
BEGIN CATCH //예외처리 부분
IF @@ERROR < 0
BEGIN
ROLLBACK TRAN
SET @RESULT = 0
END
END CATCH
END
'[PL] > DB' 카테고리의 다른 글
[MSSQL]시퀀스 초기화 (0) | 2011.09.18 |
---|---|
[mssql ] 비밀번호 잊졌을때 변경 방법 (0) | 2011.07.09 |
[MSSQL]쿼리 실습 예문 (0) | 2011.05.16 |
[MSSQL]text , execl 로 데이터 읽어들이기 (0) | 2011.05.13 |
ms sql 내장함수 (0) | 2011.05.13 |