/****************************
v_index 為主鍵語句
tablename 為表名
written by:wonder
modified by:
****************************/
create or replace procedure prc_delete(v_index in varchar2, tablename in varchar2) is
v_sql varchar2(2000);
v_sql1 varchar2(2000);
begin
execute immediate upper('truncate table except_table');
v_sql1 := upper(replace(v_index, ';', ' ') || ' exceptions into except_table');
begin
execute immediate v_sql1;
exception
when others then
null;
end;
v_sql := upper('delete from ' || tablename || ' where rowid in (select row_id from except_table where table_name=''' ||
tablename || ''')');
execute immediate v_sql;
execute immediate replace(v_index, ';', ' ');
commit;
end prc_delete;
oracle 主鍵刪除,聯合主鍵的建立
alter table tablename drop primary key 執行上面的sql能夠刪除主鍵 假設不成功能夠用 alter table tablename drop constraints column cascade 刪除約束 alter table tablename disabl...
MySQL對主鍵重複的處理
在向乙個表中插入資料的時候,有一種常見的需求 判斷插入的值是否在表中已經存在,如果是則執行update操作,否則執行insert。在oracle裡可以使用merge into來實現,mysql也對標準sql進行了擴充套件來實現此功能。1.replace into replace類似於insert,區...
oracle主鍵插入重複資料
發現oracle中已經設定了主鍵,但是還能插入重複資料,也是奇葩,後來發現主鍵雖然設定,但是沒有啟動,這才導致可以插入重複主鍵資料 查詢出沒有啟用主鍵的表 select a.constraint name,b.column name,a.table name,a.status from user c...