database.sarang.net
UserID
Passwd
Database
DBMS
MySQL
PostgreSQL
Firebird
ㆍOracle
Informix
Sybase
MS-SQL
DB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
Oracle Q&A 3035 게시물 읽기
No. 3035
동적SQL에서 에러가 납니다. 봐주세요. 여러분.
작성자
심원보
작성일
2001-02-15 20:26
조회수
4,170

안녕하세요.

동적SQL을 구현해 봤는데 에러가 납니다. 간단히 테스트 하려구

SQL*PLUS에서 패키지를 등록시킨후 다음과 같이 했는데...

---------------------------------------------------------------

SQL> execute packagebbs.IstRecords('php', '심', 'gate', '211','ht', 'te', 'co', '11', 'ph');

BEGIN packagebbs.IstRecords('php', '심', 'gate', '211','ht', 'te', 'co', '11', 'ph'); END;

 

*

1행에 오류:

ORA-06550: 줄 1, 열7:PLS-00306: 'ISTRECORDS' 호출 시 인수의 갯수나 유형이

잘못되었습니다

ORA-06550: 줄 1, 열7:PL/SQL: Statement ignored

----------------------------------------------------------------

그대로 복사한 겁니다.

테스트한 패키지는 아래와 같습니다. 복사해서 보세요.

테이명을 동적으로 할당받아 처리하는 겁니다.

----------------------------------------------------------------

 

CREATE OR REPLACE PACKAGE packageBbs

AS

TYPE cur IS REF CURSOR;

 

PROCEDURE IstRecords(p_fd_tbl_cd IN VARCHAR2,

p_fd_Name IN VARCHAR2,

p_fd_Email IN VARCHAR2,

p_fd_Ip IN VARCHAR2,

p_fd_URL IN VARCHAR2,

p_fd_Title IN VARCHAR2,

p_fd_Content IN VARCHAR2,

p_fd_Password IN VARCHAR2,

p_fd_tbl_nm IN VARCHAR2,

p_errorcode OUT NUMBER);

END packageBbs;

/

 

CREATE OR REPLACE PACKAGE BODY packageBbs

AS

 

PROCEDURE IstRecords(p_fd_tbl_cd IN VARCHAR2,

p_fd_Name IN VARCHAR2,

p_fd_Email IN VARCHAR2,

p_fd_Ip IN VARCHAR2,

p_fd_URL IN VARCHAR2,

p_fd_Title IN VARCHAR2,

p_fd_Content IN VARCHAR2,

p_fd_Password IN VARCHAR2,

p_fd_tbl_nm IN VARCHAR2,

p_errorcode OUT NUMBER)

IS

v_fd_Ref NUMBER(5);

v_Sql varchar2(200);

v_Cursor integer;

rows_processed integer;

BEGIN

p_errorcode := 0;

 

v_Cursor := DBMS_SQL.OPEN_CURSOR;

 

v_Sql := 'SELECT MAX(fd_Ref) FROM ' || p_fd_tbl_nm;

 

DBMS_SQL.PARSE(v_Cursor, v_Sql, DBMS_SQL.native);

DBMS_SQL.DEFINE_COLUMN(v_Cursor, 1, v_fd_Ref);

 

rows_processed := DBMS_SQL.EXECUTE(v_Cursor);

 

DBMS_SQL.COLUMN_VALUE(v_Cursor, 1, v_fd_Ref);

 

dbms_output.put_line(v_fd_Ref);

 

v_Sql := 'INSERT INTO ' || p_fd_tbl_nm || ' VALUES';

v_Sql := v_Sql || '(p_fd_tbl_cd,DECODE(v_fd_Ref, NULL, 1, v_fd_Ref + 1),0,0,';

v_Sql := v_Sql || 'p_fd_Name,p_fd_Email,p_fd_Ip,p_fd_URL,p_fd_Title,p_fd_Content,';

v_Sql := v_Sql || 'SYSDATE,p_fd_Password,0)';

 

DBMS_SQL.PARSE(v_Cursor, v_Sql, DBMS_SQL.native);

 

rows_processed := DBMS_SQL.EXECUTE(v_Cursor);

 

DBMS_SQL.CLOSE_CURSOR(v_Cursor);

 

EXCEPTION

WHEN OTHERS THEN

p_errorcode := SQLCODE;

END IstRecords;

 

END packageBbs;

/

[Top]
No.
제목
작성자
작성일
조회
3038817에서 인터미디어 설치해보신분...?
김원철
2001-02-16
1887
3037오라클 서버는 8 이고 클라이언트는 8i 인데 문제 없나요?(Pro*C)
왕초보
2001-02-16
1747
3036[질문]솔라리스8[intel]에서 오라클 설치 성공하신분...
최원용
2001-02-15
1817
3050┕>Re: [질문]솔라리스8[intel]에서 오라클 설치 성공하신분...
dontgo
2001-02-17 01:31:27
2030
3051 ┕>Re: Re: [질문]솔라리스8[intel]에서 오라클 설치 성공하신분...
최원용
2001-02-17 03:21:32
2016
3035동적SQL에서 에러가 납니다. 봐주세요. 여러분.
심원보
2001-02-15
4170
3034oracle install
김상엽
2001-02-15
2240
3033oracle에 관련된 IP주소를 추가 하여야 하는데요 !!!
류기형
2001-02-15
2044
3032테이블에서 칼럼을 지울려면 어케 해요?
바부
2001-02-15
1880
3039┕>Re: 테이블에서 칼럼을 지울려면 어케 해요?
mis74
2001-02-16 10:27:55
2521
3042 ┕>Re: Re: 테이블에서 칼럼을 지울려면 어케 해요?
전병제
2001-02-16 13:58:06
2376
3062  ┕>Re: Re: Re: 테이블에서 칼럼을 지울려면 어케 해요?
dbyou
2001-02-17 17:50:43
2403
3073┕>Re: 테이블에서 칼럼을 지울려면 어케 해요?
정재영
2001-02-18 23:52:10
2014
3119┕>Re: 테이블에서 칼럼을 지울려면 어케 해요?
우성곤
2001-02-19 19:44:38
2419
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.018초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다