• 首页>范文 > 范文
  • 怎么写触发器

    1.触发器怎么写

    create or replace trigger dml_a

    before insert or delete on a

    for each row

    as

    begin

    when inserting then

    insert into b values(a.:new.字段1,a.:new.字段2。);

    when deletint then

    delete from b where b.字段=a.:old.字段;

    end dml_a;

    2.SQL怎么写触发器

    --此题唯一的难度是用户名 假设用户名已保存在表CurrentUser中

    --给出插入操作的触发器创建 其他类似

    CREATE TRRIGER MYTR1

    ON A

    FOR INSERT

    AS

    DECLARE @UserName varchar(20)

    SELECt @UserName=UserName from CurrentUser

    INSERT INTO C (TableName,Type,dDate,UserName) VALUES ('A','Insert',getdate(),@UserName)

    GO

    3.如何写一个触发器

    create trigger Mytr

    on 表B

    for insert --如果不是插入,是更新,insert换成update

    as

    update 表B set 类别名称=a.类别名称

    from

    (select 表A.*,inserted.商品编码 from 表A

    right join inserted

    on left(inserted.商品编码,1)=表A.类别ID

    )a

    where a.商品编码=表B. 商品编码

    4.如何写触发器的驱动方程

    不同逻辑功能的触发器的驱动方程不同,所以用不同类型触发器设计出的电路也不一样。为此,设计具体的电路前必须选定触发器的类型。选择触发器类型时应考虑到器件的供应情况,并应力求减少系统中使用的触发器种类。

    根据编码形式的状态图(或状态表)和选定的触发器类型,利用次态卡诺图求得各触发器的次态方程,再与触发器的特性方程比较,即可求得各触发器的驱动方程。注意,此时是利用卡诺图确定最佳驱动方程,使电路最简,而不仅仅是用它来进行函数化简。

    另外,根据编码后的状态表及触发器的驱动表也可求得电路的输出方程和各触发器的驱动方程。

    5.SQL 触发器 怎么写

    creat trigger update A

    on B

    for update

    as

    begin

    update A set 插入内容 where 条件

    例如:

    use vote

    create trigger updatevote

    on voteDetails

    for update

    as

    begin

    update vote set voteSum=voteSum+1 where voteID=(select top 1 voteID from inserted)

    end

    select * from vote

    select * from voteDetails

    6.这个触发器如何写

    create trigger aa on st_apptransvouchsafter insert,update asbegindeclare @cinvcode int,@bcinvcode intselect @cinvcode=cinvcode from so_sodetailsselect @bcinvcode=b.cinvcode from so_sodetails a , st_apptransvouchs b where a.csocode in(select b.cdefine31 from st_apptransvouchs ) and a.irowno in ( select b.cdefine26 from st_apptransvouchs) if @cinvcode<>@bcinvcoderaiserror('单据输入有错误,不能保存',16,1)end。

    7.触发器的正确写法

    兄弟,你这样写就好了

    DELIMITER $$

    USE `mspay`$$

    DROP TRIGGER `tr_date`$$

    CREATE

    TRIGGER `tr_date` BEFORE UPDATE ON `dormitoryinfo`

    FOR EACH ROW BEGIN

    IF new.result='Y'

    THEN

    SET new.date=NOW();

    END IF;

    END;

    $$

    DELIMITER ;

    发表评论

    登录后才能评论