Pl Sql Error Pls 00323
Contents |
here for a quick overview of the site Help Center Detailed answers to any questions you might have Meta Discuss the workings and policies of this site About Us Learn more about Stack pls-00410 Overflow the company Business Learn more about hiring developers or posting ads with us
Pls-00410: Duplicate Fields In Record,table Or Argument List Are Not Permitted
Stack Overflow Questions Jobs Documentation Tags Users Badges Ask Question x Dismiss Join the Stack Overflow Community Stack Overflow is a community 00323 country code of 6.2 million programmers, just like you, helping each other. Join them; it only takes a minute: Sign up PLS-00323 error in oracle up vote 8 down vote favorite I am creating a procedure in
Pls-00302
a package. I have updated the specification of the package and then when i am updating the body of the package it shows me the following error. [Error] PLS-00323 (314: 13): PLS-00323: subprogram or cursor 'INSERT_CUSTOMER_ADDRESS' is declared in a package specification and must be defined in the package body N.B.: INSERT_CUSTOMER_ADDRESS is my procedure name. plsql oracle10g pls-00323 share|improve this question edited Jul 25 '11 at 6:53 Sathya 13.2k1667106 asked Jul pls-00306 21 '11 at 9:55 Amit 1882314 5 Might be too obvious, but doublecheck if the procedure name is exactly the same, as well as all the parameters it receives. –Björn Jul 21 '11 at 10:16 Got it, just a letter missed from a parameter name. –Amit Jul 21 '11 at 10:32 same error here around half an hour dealing with that. thanks a lot. –BlaShadow Sep 10 '13 at 20:39 Don't forget to check return type too. That's what got me. –BimmerM3 Sep 9 '15 at 6:26 add a comment| 5 Answers 5 active oldest votes up vote 9 down vote As I experiences this many times, It is related to your definition of the function/procedure(I mean variable names and their corresponding types), if there is a variable which is in body and not in spec, this will cause this error. this is common error don' worry! share|improve this answer answered Jul 8 '12 at 19:13 hmmftg 631511 add a comment| up vote 2 down vote If you create a procedure in the package specification it must be created\implemented in the package body. Consider your package specification as an interface and the package body as its implementation. share|improve this answer answered Jul 21 '11
here for a quick overview of the site Help Center Detailed answers
Package In Pl Sql
to any questions you might have Meta Discuss the workings
Pls 00201 Identifier Must Be Declared
and policies of this site About Us Learn more about Stack Overflow the company Business Learn more about hiring developers or posting ads with us Stack Overflow Questions Jobs Documentation Tags Users Badges Ask Question x Dismiss Join the Stack Overflow http://stackoverflow.com/questions/6774276/pls-00323-error-in-oracle Community Stack Overflow is a community of 6.2 million programmers, just like you, helping each other. Join them; it only takes a minute: Sign up Error PLS-00323 in package body, procedure name is correct up vote -1 down vote favorite the follow code is getting an error PLS-00323 in two http://stackoverflow.com/questions/14418102/error-pls-00323-in-package-body-procedure-name-is-correct places. The first place is on the procedure spt_save_casedetail and it says "subprogram or cursor 'spt_save_casedetail' is declared in the package specification and must be defined in the package body". Here is the code (warning its long): create or replace package body ct_cu_act_um1_pg is procedure spt_save_casedetail ( p_primarymemberplanid_in in casedetail.primarymemberplanid%type, p_servicetypecd_in in casedetail.servicetypecd%type, p_notifydt_in in casedetail.notifydt%type, p_assignedentityid_in in casedetail.assignedentityid%type, p_startdt_in in casedetail.startdt%type, p_enddt_in in casedetail.enddt%type, p_caretypemnemonic_in in casedetail.caretypemnemonic%type, p_casestatusmnemonic_in in casedetail.casestatusmnemonic%type, p_odsorderingproviderid_in in casedetail.odsorderingproviderid%type, p_sourcemnemonic_in in casedetail.sourcemnemonic%type, p_caseresolutionmnemonic_in in casedetail.caseresolutionmnemonic%type, p_odsservicingproviderid_in in casedetail.odsservicingproviderid%type, p_serviceitemmnemonic_in in casedetail.serviceitemmnemonic%type, p_providerinnetworkind_in in casedetail.providerinnetworkind%type, p_detailtxt_in in casedetail.detailtxt%type, p_odsfacilityvendorid_in in casedetail.odsfacilityvendorid%type, p_servicelocationcd_in in casedetail.servicelocationcd%type, p_facilityinnetworkind_in in casedetail.facilityinnetworkind%type, p_audit_user_in in casedetail.updatedby%type, p_return_cur_out out sys_refcursor, p_err_code_out out number, p_err_mesg_out out varchar2) is v_casedetailid casedetail.casedetailid%type; begin select casedetail_seq.nextval into v_casedetailid from dual; if v_casedetailid is null then insert into casedetail (casedetailid, primarymemberplanid, servicetypecd, notifydt, assignedentityid, startdt, enddt, caretypemnemonic, casestatusmnemonic, odsorderingproviderid, sourcemnemonic, caseresolutionmnemonic, odsservicingproviderid, serviceitemmnemonic, providerinnetworkind, detailtxt, odsfacilityvendorid, servicelocationcd, facil
ExpressionsReport Column PageResult SetSelect QuerySequenceSQL PlusStored Procedure FunctionSubquerySystem PackagesSystem Tables ViewsTableTable JoinsTriggerUser PreviliegeViewXMLThis package will not compile because the body does not match the specification. : Package«PL http://www.java2s.com/Code/Oracle/PL-SQL/Thispackagewillnotcompilebecausethebodydoesnotmatchthespecification.htm SQL«Oracle PL / SQLOracle PL / SQLPL SQLPackageThis package will not compile because the body does not match the specification. SQL> SQL> http://www.sql.ru/forum/335667/oshibka-pri-vypolnenii-funkcii CREATE OR REPLACE PACKAGE PackageA AS 2 FUNCTION FunctionA(p_Parameter1 IN NUMBER, 3 p_Parameter2 IN DATE) 4 RETURN VARCHAR2; 5 END PackageA; 6 pl sql / Package created. SQL> show errors No errors. SQL> SQL> CREATE OR REPLACE PACKAGE BODY PackageA AS 2 FUNCTION FunctionA(p_Parameter1 IN CHAR, 3 p_Parameter2 IN DATE) 4 RETURN VARCHAR2; 5 END PackageA; 6 / Warning: Package Body created with compilation errors. SQL> show errors Errors pl sql error for PACKAGE BODY PACKAGEA: LINE/COL ERROR -------- ----------------------------------------------------------------- 2/12 PLS-00323: subprogram or cursor 'FUNCTIONA' is declared in a package specification and must be defined in the package body 2/12 PLS-00328: A subprogram body must be defined for the forward declaration of FUNCTIONA. SQL> SQL> SQL> Related examples in the same category1.Create a package declaration and create its body after2.Create a package level variable3.call utitilities package4.Package for output employee table and log message5.Package with package level cursor variable6.Overloading Packaged Subprograms7.A PL/SQL package with two methods8.Package level Exception9.dependencies between an anonymous calling block and package runtime state.10.RESTRICT_REFERENCES pragma.11.Without RESTRICT_REFERENCES pragma.12.Persistance of packaged variables.13.A package with one method14.Package level variable as global level variable15.Global definition16.Student fetch package17.Cursor operation between package functions18.The pragma is not valid at the package level.19.Create package and member cursor20.Nested package reference21.Overloaded packages.22.Overl
Откуда: Сообщений: 7 Есть функция: CREATE OR REPLACE TYPE virtual_table_type AS TABLE OF number; create or replace function virtual_table return virtual_table_type PIPELINED is begin pipe row(1); return; end; Проверяю в SQL+ все работает.Собираю пакет: CREATE OR REPLACE PACKAGE mypack as TYPE virtual_table_type IS TABLE OF number INDEX BY BINARY_INTEGER; function virtual_table(p_num_rows in number) return virtual_table_type PIPELINED; end mypack; CREATE OR REPLACE PACKAGE BODY mypack AS function virtual_table return virtual_table_type PIPELINED is begin pipe row(1); return; -- обратите внимание - return без возвращаемого значения! end; end mypack; Не работает, выдает ошибки:0/0 PLS-00382: expression is of wrong type3/10 PLS-00323: subprogram or cursor 'VIRTUAL_TABLE' is declared in a package specification and must be defined in the package body7/5 PL/SQL: Statement ignored 7 сен 06, 16:31 [3106467] Ответить | Цитировать Сообщить модератору Re: ошибка при выполнении функции [new] softwarer Member Откуда: 127.0.0.1 Сообщений: 49147Блог zukovПроверяю в SQL+ все работает.Так и должно. zukov return; -- обратите внимание - return без возвращаемого значения!Так и должно. zukovНе работает, выдает ошибки:И правильно выдает. Если внимательно прочитаете сообщение об ошибке и поверите ему, без проблем увидите причину. 7 сен 06, 16:33 [3106487] Ответить | Цитировать Сообщить модератору Re: ошибка при выполнении функции [new] dmidek Member Откуда: Киев - Дортмунд Сообщений: 83186 Вы в package body не указали у функции входной параметр p_num_rows 7 сен 06, 16:33 [3106494] Ответить | Цитировать Сообщить модератору Re: ошибка при выполнении функции [new] softwarer Member Откуда: 127.0.0.1 Сообщений: 49147Блог dmidekВы в package body не указали у функции входной параметр p_num_rowsЭто одна из двух ошибок в опубликованном фрагменте кода :) 7 сен 06, 16:37 [3106533] Ответить | Цитировать Сообщить модератору Re: ошибка при выполнении функции [new] zukov Member Откуда: Сообщений: 7 А какая вторая?Поправил: CREATE OR REPLACE PACKAGE mypack as TYPE virtual_table_type IS TABLE OF number INDEX BY BINARY_INTEGER; function virtual_table return virtual_table_type PIPELINED; end mypack; Ситуация не изменилась. 7 сен 06, 16:41 [3106569] Ответить | Цитировать Сообщить модератору Re: ошибка при выполнении функции [new] juks@gala.net Member Откуда: Киев Сообщений: 4216 zukovА какая вторая? Чукча писатель ? Текст ошибки пишут не для вас ? subprogram or cursor 'VIRTUAL_TABLE' is declared in a package specification and must be defined in the packag