TRUNCATE TABLE语句
Oracle中的TRUNCATE TABLE语句用于从表中删除所有记录,与DELETE语句功能相同,但不含WHERE子句。执行截断操作后,表将成为空表。Migration Tool仅可迁移含有静态表名称的TRUNCATE TABLE语句,不支持迁移含有动态表名称的TRUNCATE TABLE语句。

该工具不支持迁移含有动态表名称的TRUNCATE TABLE语句。
例如:l_table :='truncate table ' || itable_name
在此示例中,itable_name表示动态表名称,不受Migration Tool支持。不支持的语句将被原样复制到已迁移的脚本中。
输入:含有Execute Immediate的TRUNCATE TABLE
CREATE OR REPLACE PROCEDURE schema1.proc1 AS BEGIN EXECUTE IMMEDIATE 'TRUNCATE TABLE QUERY_TABLE'; End proc1; /
输出
CREATE OR REPLACE PROCEDURE schema1.proc1 AS BEGIN EXECUTE IMMEDIATE 'TRUNCATE TABLE schema1.QUERY_TABLE' ; end ; /
输入:过程中使用TRUNCATE TABLE

Migration tool不会为动态PL/SQL语句添加模式名称。
CREATE OR REPLACE PROCEDURE schemName.sp_dd_table ( itable_name VARCHAR2 ) IS l_table VARCHAR2 ( 255 ) ; BEGIN l_table :='truncate table ' || itable_name ; ---- dbms_utility.exec_ddl_statement(l_table); dbms_output.put_line ( itable_name || ' ' || 'Truncated' ) ; END sp_dd_table ; /
输出
CREATE OR REPLACE PROCEDURE schemName.sp_dd_table ( itable_name VARCHAR2 ) IS l_table VARCHAR2 ( 255 ) ; BEGIN l_table :='truncate table ' || itable_name ; /* dbms_utility.exec_ddl_statement(l_table); */ dbms_output.put_line ( itable_name || ' ' || 'Truncated' ) ; end ; /
相关文档
相关产品
