記錄一下觸發器的寫法

2021-07-31 05:22:12 字數 3012 閱讀 6070

alter  trigger [dbo].[tr_insertinformaftion] on [dbo].[scm_order_m]

for insert

as--定義變數

declare @t2_ordercode varchar(20),

@ptclassify nvarchar(10),

@ordername nvarchar(50),

@probrand nvarchar(25)

set @t2_ordercode=(select ordercode from inserted) --獲取訂單編號,賦值

set @ptclassify=(select ptclassify from inserted )--獲取下單型別,來判斷推送人員

set @ordername=(select ordername from inserted)--判斷是否是退單或者外採

set @probrand=(select top 1 (probrand) from jzdata..scm_order_t2 where ordercode=@t2_ordercode)

if @ptclassify='主材' and  @ordername not like'%退訂%'and  @ordername not like'%外採%'

begin

--insert into questionnaire..[product_text]([str1],[str2],[str3])values('33','44','55')

insert intoquestionnaire..product_ls(driverpost, drivername, driveraccount, 

suppliername, supplierproductdl, supplierproductname, projectname, 

projectcode, sendstate, issend, relevancechart, oldtime)

select postname,membername,memberaccount,suppliername,broadheading,@probrand,cusname+'-'+projectaddress,cuscode,

'0','0','1',createtime

from(

select distinct @probrand probrand,position,suppliername,broadheading,cusname,a.cuscode,projectaddress,createtime

,b.memberaccount,b.membername,b.postname

from (

select addduty position,supplier suppliername,ptname broadheading,cusname,cuscode,projectaddress,createtime createtime

from jzdata..scm_order_m  where ordercode=@t2_ordercode)a

left join(

select  * from jzdata..crm_projectteammember

where  postname='客戶經理' or postname='主創設計師' or  postname='主材專員'

)bon a.cuscode=b.cuscode

where position<>'**商'

and memberaccount not like '%hgh%'

and memberaccount not like '%ngb%'

and memberaccount is not null

)cend 

if @ptclassify='配飾' and  @ordername not like'%退訂%'and  @ordername not like'%外採%'

begin

insert intoquestionnaire..product_ls(driverpost, drivername, driveraccount, 

suppliername, supplierproductdl, supplierproductname, projectname, 

projectcode, sendstate, issend, relevancechart, oldtime)

select postname,membername,memberaccount,suppliername,broadheading,@probrand,cusname+'-'+projectaddress,cuscode,

'0','0','1',createtime

from(

select distinct @probrand probrand,position,suppliername,broadheading,cusname,a.cuscode,projectaddress,createtime

,b.memberaccount,b.membername,b.postname

from (

select addduty position,supplier suppliername,ptname broadheading,cusname,cuscode,projectaddress,createtime createtime

from jzdata..scm_order_m  where ordercode=@t2_ordercode)a

left join(

select  * from jzdata..crm_projectteammember

where  postname='客戶經理' or postname='主創設計師' or  postname='配飾設計師'

)bon a.cuscode=b.cuscode

where position<>'**商'

and memberaccount not like '%hgh%'

and memberaccount not like '%ngb%')c

end

postgresql 觸發器寫法

create or replace function delete fdr returns trigger as delete fdr begin delete from object classes where object classes dataroom id old dataroom id ...

Postgresql 函式 觸發器寫法

1 資料庫環境 table 學生分數表 create table stu score stuno serial not null,學生編號 major character varying 16 專業課程 score integer 分數 with oids false alter table stu...

sqlserver 中 觸發器的寫法

插入時執行觸發器 set ansi nulls on set quoted identifier on gocreate trigger dbo rscopeninsert on dbo rsc info for insert asdeclare v rscid varchar 50 v statu...