Oracle建立主鍵時處理重複資料的程式

2021-04-22 10:47:38 字數 866 閱讀 5962

/****************************

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...