How to read the variable value for table name in pl/sql [message #36438] |
Wed, 28 November 2001 00:11  |
Cherilyn Tan
Messages: 2 Registered: November 2001
|
Junior Member |
|
|
Hi,
I need to know is it possible for me to read an assigned variable for a table name, that i am using for an insert statement in pl/sql. Here's the code.
BEGIN
new_tablename := 'arch_'|| s_tDBTableName;
curr_tablename := s_tDBTableName;
INSERT INTO new_tablename
(SELECT * FROM curr_tablename
WHERE XmID = n_vmXmID AND XmType = s_vmXmType);
...
END;
Cause when I compile the stored procedure, I get this error message.
PLS-00201: identifier 'NEW_TABLENAME' must be declared
Please advise.
----------------------------------------------------------------------
|
|
|
Re: How to read the variable value for table name in pl/sql [message #36441 is a reply to message #36438] |
Wed, 28 November 2001 01:17   |
tinel
Messages: 42 Registered: November 2001
|
Member |
|
|
try something like this
BEGIN
new_tablename := 'arch_'|| s_tDBTableName;
curr_tablename := s_tDBTableName;
EXECUTE IMMEDIATE 'INSERT INTO ' || new_tablename || ' (SELECT * FROM ' || curr_tablename || 'WHERE XmID = n_vmXmID AND XmType = s_vmXmType)';
...
END;
----------------------------------------------------------------------
|
|
|
|