用FUNCTION
:
CREATE OR REPLACE FUNCTION BACKUP_TABLE
RETURN NUMBER AUTHID CURRENT_USER
IS
V_BKSTR VARCHAR(200)='';
V_CRIND VARCHAR(1000)='';
BEGIN
V_BKSTR:=V_BKSTR || 'create table u_item_backup as select * from u_item '; V_CRIND:=V_CRIND || ' CREATE INDEX u_item_backup';
V_CRIND:=V_CRIND || ' ON u_item_backup(I_NO,I_CARPLATE,I_VCENTREID) ';
TRY
EXECUTE IMMEDIATE V_BKSTR; EXECUTE IMMEDIATE V_CRIND;
RETURN 0; EXCEPTION
WHEN OTHERS THEN
RETURN 1;
END BACKUP_TABLE;
:
CREATE OR REPLACE FUNCTION BACKUP_TABLE
RETURN NUMBER AUTHID CURRENT_USER
IS
V_BKSTR VARCHAR(200)='';
V_CRIND VARCHAR(1000)='';
BEGIN
V_BKSTR:=V_BKSTR || 'create table u_item_backup as select * from u_item '; V_CRIND:=V_CRIND || ' CREATE INDEX u_item_backup';
V_CRIND:=V_CRIND || ' ON u_item_backup(I_NO,I_CARPLATE,I_VCENTREID) ';
TRY
EXECUTE IMMEDIATE V_BKSTR; EXECUTE IMMEDIATE V_CRIND;
RETURN 0; EXCEPTION
WHEN OTHERS THEN
RETURN 1;
END BACKUP_TABLE;
RETURN NUMBER AUTHID CURRENT_USER
IS
V_BKSTR VARCHAR(200)='';
V_CRIND VARCHAR(1000)='';
BEGIN
V_BKSTR:=V_BKSTR || 'create table u_item_backup as select * from u_item '; V_CRIND:=V_CRIND || ' CREATE INDEX u_item_backup';
V_CRIND:=V_CRIND || ' ON u_item_backup(...你所要用到的列名...) ';
TRY
EXECUTE IMMEDIATE V_BKSTR; EXECUTE IMMEDIATE V_CRIND;
RETURN 0; EXCEPTION
WHEN OTHERS THEN
RETURN 1;
END BACKUP_TABLE;
你可以再复制表以后
然后再添加约束
alter table 表名 add primary key(列名);