给你贴个动态SQL的例子(抄的)hiahiaCREATE OR REPLACE PROCEDURE update_history ( tab1_name IN VARCHAR2, tab2_name IN VARCHAR2, date_in IN DATE ) AS cur INTEGER := DBMS_SQL.OPEN_CURSOR; rows_inserted INTEGER; BEGIN DBMS_SQL.PARSE ( cur, 'INSERT INTO ' || tab1_name || ' (SELECT * FROM ' || tab2_name || ' WHERE created_on < :datelimit)', DBMS_SQL.NATIVE);
tab1_name IN VARCHAR2,
tab2_name IN VARCHAR2,
date_in IN DATE
)
AS
cur INTEGER := DBMS_SQL.OPEN_CURSOR;
rows_inserted INTEGER;
BEGIN
DBMS_SQL.PARSE (
cur,
'INSERT INTO ' || tab1_name ||
' (SELECT * FROM ' || tab2_name ||
' WHERE created_on < :datelimit)',
DBMS_SQL.NATIVE);
DBMS_SQL.BIND_VARIABLE (cur, 'datelimit', date_in);
rows_inserted := DBMS_SQL.EXECUTE (cur); DBMS_SQL.CLOSE_CURSOR (cur);
END;
另外,运用了存储过程,该动也比较方便,只需要对服务器进行修改即可