create table temp_2005(con varchar2(20));create or replace procedure P_YOUR_PROC (V_YEAR VARCHAR2)
IS
V_SQL VARCHAR2(1000);
V_TABLE VARCHAR2(100);
BEGIN
v_table :='temp_'||V_YEAR;
V_SQL :='
insert into '||v_table||' values (''OK!!!'')';
execute immediate v_sql;
commit;
END;SQL> exec p_your_proc(2005)PL/SQL 过程被成功完成SQL> select * from temp_2005;CON
--------------------------------------------------------------------------------
OK!!!
注:insert语句中原为单引号的地方要改为两个单引号如''ok!!!''
IS
V_SQL VARCHAR2(1000);
V_TABLE VARCHAR2(100);
BEGIN
v_table :='temp_'||V_YEAR;
V_SQL :='
insert into '||v_table||' values (''OK!!!'')';
execute immediate v_sql;
commit;
END;SQL> exec p_your_proc(2005)PL/SQL 过程被成功完成SQL> select * from temp_2005;CON
--------------------------------------------------------------------------------
OK!!!
注:insert语句中原为单引号的地方要改为两个单引号如''ok!!!''
dbms_sql.parse(l_cursor_number,
' Insert into tab_'||l_table_name||
' (col1,col2) values ('||
''''||v_col1||''','''||v_col2||''')',2 );