SQL里中存储过程和触发器,如何创建?

如题所述

    触发器是一种特殊的存储过程,
    2.触发器是在对表进行插入、更新或删除操作时自动执行的存储过程
    3.触发器通常用于强制业务规则
    4.触发器是一种高级约束,可以定义比用CHECK 约束更为复杂的约束
    5.可执行复杂的SQL语句(if/while/case)

    DELETE 触发器
    INSERT 触发器
    UPDATE 触发器

    /*----------Insert 插入 触发器------------*/
    Create Trigger Tri_insert
    on students /*针对某个表,触发器是建立在表关系上的*/
    for insert /*采用的是哪种触发器*/
    as
     declare @stu_id int;
     declare @stu_score varchar(200);
     select @stu_id=s_id from inserted /*这里的Inserted 是在创建触发器时候 系统自动创建的内存表*/
     insert into student_Score(s_id,ss_score)values(@stu_id,'100')

    go
    --就是插一条数据进入students中,Tri_insert触发器就会自动在student_Score插入相关的学生的一条分数的数据
    insert into students(s_name,s_classId) values('黄驰',6)

    select * from student_Score

温馨提示:内容为网友见解,仅供参考
第1个回答  2021-01-09

MySQL教程4 MySQL8运算符、函数、存储过程及新增数据类型 17.之创建带有IN和OUT参数的存储过程 学习猿地

第2个回答  2010-04-06
如果是mssql server,在企业管理器里,右键表名,然后自己看
第3个回答  2010-04-06
存储过程可以直接用sql语句创建,触发器可以在表修改中创建
Create Procedure name
As本回答被网友采纳
第4个回答  2010-04-12
(1).存储过程:
create procedure for_select(你想用的触发器名字)
delare @name char(8) output(用于输出的),@age int output(用于输出),@phone_num char(11) (输入)
as
select @name=name(列名),@age=age(列名) from table_name(表名)
where phone_num(列名)=@phone_num

(2)触发器
create tigger for_update
on table_name
after update
as
if(update(phone_num))
update table_name2
set phone_num=i.phone_num
from deleted d,inserted i
where table_name.phone_num=d.phone_num
end
其中:deleted与inserted是sql中默认的临时表。用来储存原来的值和插入的值。本触发器的作用是 当更新table_name 中的phone_num时table_name1中的phone_num也一起更新!注意触发器只能用于update.insert.delete.select中不能用于创建表............本回答被网友采纳

SQL中触发器、存储过程
1、触发器:当向表unit插入的数据后,且objectid>10000时,向表test_tab插入数据 create trigger trig1 after insert on unit for each row when (objectid>10000)begin insert into test_tab values(new.objectid,new.name);end;存储过程:向表test插入调用存储时的参数@id,@namecreate procedure ...

存储过程触发器
存储过程是数据库中的可重用代码段,可以接受参数并执行特定任务。SQL Server允许存储过程返回三种类型的值:整数、输出参数或Recordset。输出参数允许在存储过程执行时将结果传递给调用者,而Recordset则将结果返回到客户端。通过示例代码展示如何创建存储过程以查询或插入数据,以及如何在存储过程中使用输出参数...

...表里的数据都从另外两个基本表中获得 如何创建?
1.打开数据库管理工具并在数据库中创建两个用于测试的新表,在这里,这两个表的表结构应该是相同的。2.打开一个新的SQL查询窗口来创建一个存储过程。这意味着将插入到TEST中的数据插入到TEST1中。3.单击“执行”,将创建一个名为“T”的新触发器。输入代码:USE[PHCTIAOMA]GO /***object...

SQL如何学会触发器?求大神指教!
触发器就是一个存储过程,不过是一个特殊的储存过程,因为触发器不能够通过EXEC命令显式调用,只能被指定的操作(insert,delete,update)来触发(隐式调用),有点像C#中的事件,你只要写好了你想要的操作,然后在发生insert(或者delete update)后,就自动自行这段代码,这就是触发器。触发器这个东...

SQL满足条件后自动更新一个置(SQL触发器)?
一、创建一个简单的触发器 触发器是一种特殊的存储过程,类似于事件函数,SQL Server™ 允许为 INSERT、UPDATE、DELETE 创建触发器,即当在表中插入、更新、删除记录时,触发一个或一系列 T-SQL语句。触发器可以在查询分析器里创建,也可以在表名上点右键->“所有任务”->“管理触发器”来创建...

如何定义一个触发器
定义:触发器是个特殊的存储过程,它的执行不是由程序调用,也不是手工启动,而是由个事件来触发,比如当对一个表进行操作时就会激活它执行。触发器可以查询其他表,而且可以包含复杂的SQL语句。它们主要用于强制服从复杂的业务规则或要求。例如:可以根据客户当前的帐户状态,控制是否允许插入新订单。触发器...

sql 触发器使用方法
SQL触发器是一种特殊类型的存储过程,它们在特定的数据库操作事件(如插入、更新、删除)发生时自动执行。触发器的使用方法取决于FOR关键字后的操作类型,如INSERT、UPDATE或DELETE。此关键字确保触发器仅在相应事件上触发,排除了其他操作如SELECT、TRUNCATE或UPDATETEXT等。以注册系统为例,为了防止用户更改...

Sql触发器
删除时 不存储记录 存放被删除的记录 一个Update 的过程可以看作为:生成新的记录到Inserted表,复制旧的记录到Deleted表,然后删除Student记录并写入新纪录。对于2,创建一个Delete触发器 Create trigger trdStudent On Student for Delete As Delete BorrowRecord From BorrowRecord br , Delted d...

SQL触发器如何使用
创建触发器,触发器是一种特殊的存储过程,在用户试图对指定的表执行指定的数据修改语句时自动执行。Microsoft® SQL Server™ 允许为任何给定的 INSERT、UPDATE 或 DELETE 语句创建多个触发器。语法CREATE TRIGGER trigger_name ON { table | view } [ WITH ENCRYPTION ] { { { FOR | AFTER | INSTEAD OF }...

sql中的存储过程和触发器有什么区别?
1、存储过程:以两个遏制号(##)开头的官僚存储过程,该存储过程将成为存储在tempdb数据库中的临时存储过程,一旦创建了该临时存储过程,它将被连接到服务器稍后。任何用户都可以在没有特殊权限的情况下执行它。2、设置为:可用于强制引用常量,在添加,更新或删除多个表中的行时终止,保留这些表之间...

相似回答