最近做資訊採集,總是需要建立臨時表,一同連線8個庫同時開展。
但是oracle裡面沒有像sqlserver那樣的
if exists (select * from dbo.sysobjects where id = object_id(n'[dbo].[hy_bscdnm_j]') and objectproperty(id, n'isusertable') = 1)
drop table [dbo].[hy_bscdnm_j]
gocreate table .......
為避免總是要去點選sure,所以參考了網上的方法,在建立臨時表的時候,省去點選的麻煩。
待採集指令碼寫完全,一步執行到位等待結果的匯出,省大量時間去完成下個request。
declare
i integer;
begin
select count(*) into i from user_tables where table_name = 'xb_test001';
if i > 0 then
dbms_output.put_line('該錶已存在!');
execute immediate 'drop table xb_test001';
else
dbms_output.put_line('該錶不存在');
end if;
execute immediate 'create table xb_test001(id int primary key,name varchar(50))';
end;
Sql server如果存在就更新,不存在就插入
sql不同於mysql那樣,有單獨的乙個命令來執行上述操作,比如在mysql中就可以這樣寫 replace into demo in a,b,c values 123,2,4 在mysql中這是乙個原子操作,如果這條資料存在,就先刪除在插入,不存在就直接插入.要注意的是需要有乙個唯一的主鍵支援,如果...
MySQL實現如果存在就更新,不存在就寫入
最近的業務中,有這樣乙個需求 如果資料存在就更新,不存在就寫入,一般情況下是需要先查詢,後判斷是更新還是寫入的,需要進行兩次io操作。所以為了減少同步時間,第乙個思路是使用併發,第二種思路就是應該儘量減少請求mysql的次數,這裡將講講第二種思路。正常情況下實現 如果存在就更新,不存在就寫入的偽 偽...
建立表之前判斷表是否存在,如果存在則刪除已有表
轉至 1.sqlserver資料庫 在sqlserver中,建立表之前判斷表是否存在,如果存在則刪除已有表 sql server if exists select 1 from sysobjects where id object id emp and type u drop table s eva...