Home » SQL & PL/SQL » SQL & PL/SQL » PL/SQL table :: ORA-00902: invalid datatype (Oracle Database 12c Enterprise Edition Release 12.1.0.2.0 - 64bit Production)
|
|
|
|
|
Re: PL/SQL table :: ORA-00902: invalid datatype [message #659386 is a reply to message #659380] |
Fri, 13 January 2017 18:36   |
 |
Barbara Boehmer
Messages: 9105 Registered: November 2002 Location: California, USA
|
Senior Member |
|
|
SCOTT@orcl_12.1.0.2.0> CREATE TABLE test_a (a NUMBER, b NUMBER)
2 /
Table created.
SCOTT@orcl_12.1.0.2.0> CREATE TABLE test_b (a NUMBER, b NUMBER)
2 /
Table created.
SCOTT@orcl_12.1.0.2.0> INSERT INTO test_a SELECT 1, 1 FROM DUAL CONNECT BY LEVEL <= 10
2 /
10 rows created.
SCOTT@orcl_12.1.0.2.0> CREATE OR REPLACE PACKAGE test_api
2 AS
3 TYPE t_row IS TABLE OF test_a%ROWTYPE;
4 PROCEDURE test1;
5 END test_api;
6 /
Package created.
SCOTT@orcl_12.1.0.2.0> SHOW ERRORS
No errors.
SCOTT@orcl_12.1.0.2.0> CREATE OR REPLACE PACKAGE BODY test_api
2 AS
3 PROCEDURE test1
4 IS
5 l_tab1 t_row;
6 BEGIN
7 SELECT * BULK COLLECT INTO l_tab1 FROM test_a;
8 FORALL i IN 1 .. l_tab1.COUNT
9 INSERT INTO test_b VALUES l_tab1(i);
10 END test1;
11 END test_api;
12 /
Package body created.
SCOTT@orcl_12.1.0.2.0> SHOW ERRORS
No errors.
SCOTT@orcl_12.1.0.2.0> EXEC test_api.test1
PL/SQL procedure successfully completed.
SCOTT@orcl_12.1.0.2.0> SELECT * FROM test_b
2 /
A B
---------- ----------
1 1
1 1
1 1
1 1
1 1
1 1
1 1
1 1
1 1
1 1
10 rows selected.
[Updated on: Fri, 13 January 2017 18:47] Report message to a moderator
|
|
|
|
|
|
|
|
Goto Forum:
Current Time: Tue Jun 10 21:04:43 CDT 2025
|