FireBird Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
파이어버드 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
IBPhoenix
FireBird Main site
볼랜드포럼 광고 모집

FireBird Q&A
[294] 당근 되지요.
김백일 [cedar] 2478 읽음    2002-06-03 15:06
초보자(우) 님이 쓰신 글 :
: MS-SQL에선
: IF @aa = 1
:
:  Begin
:
:   INSERT into Table
:
:  end
:
: IF @aa = 2
:
:  Begin
:
:   Update Table set
:
:  End
:
: 이렇게 파라메타 값을 넘겨서 거기에 맞는 걸로 쿼리문을 실행 할 수 있는데
: 인터베이스에는 이런 기능이 엄나요?

CREATE PROCEDURE 문의 문법은 다음과 같습니다.

CREATE PROCEDURE name
[(param <datatype> [, param <datatype> …])]         // 이 부분이 입력 파라미터들의 선언
[RETURNS param <datatype> [, param <datatype> …])]  // 이 부분이 출력 파라미터들의 선언
AS <procedure_body> [terminator]
<procedure_body> =
[<variable_declaration_list>]
<block>
<variable_declaration_list> =
DECLARE VARIABLE var <datatype>;
[DECLARE VARIABLE var <datatype>; …]
<block> =
BEGIN
<compound_statement>
[<compound_statement> …]
END

그리고 변수나 파라미터 등을 스테이트먼트 안에서 사용할 때는
M$-SQL과는 달리 :을 사용합니다.

CREATE PROCEDURE INSERT_OR_UPDATE (aa AS INTEGER)
AS
BEGIN
IF (:aa = 1) THEN
Begin
   INSERT into Table 어쩌구 저쩌구
end
ELSE IF (:aa = 2) THEN
Begin
   Update Table set 어쩌구 저쩌구
End
END

+ -

관련 글 리스트
292 프로시져 안에서 IF 문으로 구분을 두어서 실행을 시키는 방법은 엄나요 초보자(우) 2387 2002/06/03
294     당근 되지요. 김백일 2478 2002/06/03
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.