這是個人總結高人的程式寫的~
請問哪位高人能幫我指導,怎樣編寫個儲存過程來同步,本人在做畢業設計,希望
各位大哥的幫忙,也希望我這點程式能讓別人學多點的知識
if exists(select name from sysobjects where name='sale' and type='u')
drop table sale
goif exists(select name from sysobjects where name='newsale' and type='u')
drop table newsale
gocreate table [sale] (
[stor_id] [char] (4) collate chinese_prc_ci_as null ,
[ord_num] [varchar] (20) collate chinese_prc_ci_as null ,
[date] [datetime] null ,
[qty] [**allint] null ,
[payterms] [varchar] (12) collate chinese_prc_ci_as null ,
[title_id] [int] identity (1, 1) primary key not null
) on [primary]
gocreate table [newsale] (
[stor_id] [char] (4) collate chinese_prc_ci_as null ,
[ord_num] [varchar] (20) collate chinese_prc_ci_as null ,
[date] [datetime] null ,
[qty] [**allint] null ,
[payterms] [varchar] (12) collate chinese_prc_ci_as null ,
[title_id] [int] identity (1, 1) primary key not null
) on [primary]
go--我建立了兩個表,我希望在對sale表進行插入、更新、刪除操作時,
--將sale表中的記錄同步到表newsale於是我採用了為sale表新增觸發器,**如下
if exists(select name from sysobjects where name='sale_update' and type='tr')
drop trigger sale_update
goif exists(select name from sysobjects where name='sale_insert' and type='tr')
drop trigger sale_insert
goif exists(select name from sysobjects where name='sale_delete' and type='tr')
drop trigger sale_delete
go/*******************insert觸發器***************************/
create trigger sale_insert on dbo.sale
for insert
asset identity_insert newsale on
--delete [dbo].[newsale] where title_id in (select title_id from inserted)
insert newsale(
[stor_id],
[ord_num],
[date],
[qty] ,
[payterms],
[title_id]
)--select * from sale where [title_id] not in (select [title_id] from newsale)
select * from inserted
--select * from inserted
--delete [dbo].[newsale] where title_id in (select title_id from inserted)
set identity_insert newsale off
go/*******************delete觸發器***************************/
create trigger sale_delete on dbo.sale
for delete
asdelete [dbo].[newsale] where title_id in (select title_id from deleted)
go/*******************update觸發器***************************/
create trigger sale_update
on sale
for update
asset identity_insert newsale on
if (update(stor_id)
or update(payterms)
or update(qty)
or update(date)
or update(ord_num))
begin
--select * from inserted
delete newsale where title_id in (select title_id from inserted)
insert newsale(
[stor_id],
[ord_num],
[date],
[qty] ,
[payterms],
[title_id]
) select * from inserted
--select * from sale
end
set identity_insert newsale off
go
關於餐飲無線點菜模組上傳PDA的資料庫結構說明
資料庫檔案資料結構 menu menuid 菜譜編號 0000 9999,其中0000為自點菜譜上沒有的菜 spellcode 拼音碼 dishname 菜名 unitid 計量單位 price 單價 iscurrentprice 是否時令價 kitchenerid 後廚 sortid 類別編號 c...
關於資料庫中的NULL
1 不能對null使用等號 2 不等對null相加 相乘 結果都是null 10倍的null仍舊是null 3 不要使用特殊標記 1 0 來代替null 4 null不是字串 null string 返回null 並不是string 5 not null 返回null 並不是true 6 null ...
在DevOps中以API看待共享資料庫
在winops 2017大會上,sabin.io首席顧問simon sabin做了一個演講,介紹如何將資料庫更改加入到持續部署模型中。從資料庫所有者的角度看,要實現在多個服務或應用間共享資料庫,關鍵之一就是將這些共享資料庫看成是api。sabin建議考慮使用檢視 觸發器和儲存過程等機制。它們可以更改...
關於資料庫中資料顯示在jsp中
通過呼叫getservletcontext 方法從容器獲得了servletconext,然後建立了一個map用於儲存資料,再將這個map放置到servletcontext中,在實際開發中,往往是把資料庫中的資料放置到servletcontext裡。儲存資料 public void contextin...
Oracle資料庫中刪除兩表中相同資料
問題提出 1 在做資料轉儲業務的時候,如果發生操作錯誤,有可能出現主表和副表中都有同一種資料,這樣結算的結果就有可能發生錯誤。實現方法 建表a create table a bm char 4 mc varchar2 20 插入a表資料 insert into a values 1111 1111 ...