프로시져 질문 ...안되는 이유가 없음에도 안되고 있음 ㅠㅠ 0 5 5,444

by JesusEUN [PL/SQL] [2012.05.22 09:28:05]


CREATE OR REPLACE PROCEDURE UP_TEST (
 R_USERID     IN VARCHAR2
)
IS
  DECLARE V_FILE_A VARCHAR2(50)
 
  BEGIN
  SELECT FILED_A
INTO V_FILE_A
  FROM AAA;
 
  DBMS_OUTPUT.PUT_LINE(V_FILE_A );
  END;
  /

-- EXECUTE UP_TEST('TEST');


프로시져를 실행하면 오류가 발생 됩니다. ㅠㅠ

by 손님 [2012.05.22 09:33:19]
오류에 대한 내용이 없네요?

by 마농 [2012.05.22 09:33:37]

1. 컴파일 에러
==> DECLARE 를 빼셔야 할 듯.
2. 실행시 에러
==> Select into 사용시 조회 데이터는 반드시 1건이어야 함 : 0건이나 2건 이상시 에러.


by JesusEUN [2012.05.22 09:44:55]


CREATE OR REPLACE PROCEDURE UP_TEST (
 R_USERID     IN VARCHAR2
)
IS
  
  V_FILE_A VARCHAR2(50)
 
  BEGIN
  SELECT FILED_A
INTO V_FILE_A
  FROM AAA
  WHERE ROWNUM<2;
 
  DBMS_OUTPUT.PUT_LINE(V_FILE_A );
  END;
  /

EXECUTE UP_TEST('TEST');

-------------오류 내역 -------------------------
ORA-06550: line 1, column 9:
PLS-00905: object RENTCAR.UP_TEST is invalid
ORA-06550: line 1, column 9:
PL/SQL: Statement ignored

위치 :1 Line , 9 Column
-----------------------------------------------------------
 Begin  UP_TEST('TEST'); end;

마농님 말씀대로 했는데 오류 네요 ㅠㅠ


by JesusEUN [2012.05.22 10:01:45]

정말 퐝당 스럽네요 ㅠㅠ;

갑자기 컴파일되고 실행됩니다. @@;

이유를 모르겠습니다.

마농님 감사합니다. ^^;

by 손님 [2012.05.22 10:16:03]

V_FILE_A VARCHAR2(50)  뒤에 ; 세미콜론이 빠졌네요

즉,  V_FILE_A VARCHAR2(50);
댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입