Skip to Main Content

SQL & PL/SQL

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

Can anyone explain why the code compiles on one database but not another?

329650May 21 2009 — edited May 21 2009
I have two databases, both running 10.2.0.4, same hardware/OS platform.

On one database, this code compiles just fine, on the second database, I get errors as shown below:

SQL> SET SERVEROUTPUT ON SIZE 1000000;
SQL>
SQL> create or replace procedure testproc as
2 vCount number;
3 vCmd varchar2(2048);
4 vLastName varchar2(30);
5 vFirstName varchar2(30);
6 vPK integer := 0;
7 vSortLN varchar2(30);
8 vSortFN varchar2(30);
9 cursor cPERSON is
10 select LastName,
11 FirstName
12 from GENERIC.PERSON
13 order by LastName, FirstName;
14 BEGIN
15 select count(*) into vCount from USER_OBJECTS where object_name = 'ML4TEMPPERSON';
16
17 IF (vCount = 0) THEN
18 /* NOTE: Omit semi-colon from command. */
19 vCmd := 'create table ML4TEMPPERSON (PK integer not null, LastName varchar2(30), SortLN varchar2(30), FirstName varchar2(30), SortFN varchar2(30))';
20 Execute Immediate vCmd;
21 vCmd := 'alter table ML4TEMPPERSON add (constraint XPKML4TEMPPERSON PRIMARY KEY (PK))';
22 Execute Immediate vCmd;
23 END IF;
24
25 delete from ML4TEMPPERSON;
26
27 for P in cPERSON
28 loop
29 vLastName := rpad(P.LastName, 30, ' ');
30 vFirstName := rpad(P.FirstName, 30, ' ');
31 vSortLN := vLastName;
32 vSortFN := vFirstName;
33 DBMS_OUTPUT.PUT_LINE(vLastName || ', ' || vFirstName);
34 vPK := vPK+1;
35 INSERT into ML4TEMPPERSON
36 ( PK, LastName, SortLN, FirstName, SortFN)
37 values
38 (vPK, vLastName, vSortLN, vFirstName, vSortFN);
39 end loop;
40 IF (vPK > 0) THEN
41 COMMIT;
42 END IF;
43 END;
44 /

Warning: Procedure created with compilation errors.

SQL> show errors
Errors for PROCEDURE TESTPROC:

LINE/COL ERROR
-------- -----------------------------------------------------------------
25/3 PL/SQL: SQL Statement ignored
25/15 PL/SQL: ORA-00942: table or view does not exist
35/7 PL/SQL: SQL Statement ignored
35/19 PL/SQL: ORA-00942: table or view does not exist
SQL>
Comments
Locked Post
New comments cannot be posted to this locked post.
Post Details
Locked on Jun 18 2009
Added on May 21 2009
17 comments
637 views