c#编程中如何使用sql server2005的存储过程和触发器?
发布网友
发布时间:2022-04-11 16:01
我来回答
共3个回答
热心网友
时间:2022-04-11 17:30
假如你面试的话,面试官肯定不会爱听你说的。
如果是一个网络系统,在以下情况下必须使用存储过程:
1
涉及大批量数据统计处理
你不能把n万记录从服务器通过网络传到客户端去处理,比如客户端是对流量敏感的手机用户,你这么做他们会杀了你,你只能用存储过程,把这些数据在服务器上统计出来,然后把结果传给客户端用户;
2
涉及大量用户频繁插入更新删除数据的场合
你必须给用户提供专门的存储过程、通过事务处理来完成这类操作,否则,必然会使数据库表的内容发生数据不一致、以及脏读等等问题,此时的存储过程、在这类操作中要小心给表加锁解锁(说白了就是作好事务处理开始、结束和回滚),如果这些事务处理放在客户端,一旦开始事务、但由于网络连接中断,则可能导致数据库无法解锁而停止工作。
3
涉及查询多个服务器上数据的情况,用户完全不可能知道他对面的服务器有多少、各个服务器存储的都是什么数据,此时也可能是做分布式数据库、也可能是仅仅做的多服务器系统(如新闻服务器、广告服务器、各类商品数据的服务器),无论那种情况,你只能编写存储过程、根据用户要求查询这些数据。
等等吧,所以很多应用系统,大多外围程序就是输入输出,真正的功能全都在存储过程里体现。
触发器是个数据同步的程序,比如你修改了表a、你同时期望修改表b,那么就给表a上做触发器吧。简单说就这么些东西。
热心网友
时间:2022-04-11 18:48
你说的如何使用是什么意思,调用?
调用的话 标准的存储过程 网上多的是
触发器在C#中不会显式的调用。触发器是针对表的。你对表进行某些操作了 对应的触发器自然会执行
热心网友
时间:2022-04-11 20:23
触发器没有用过 但是存储过程我用过 SQL2000中 先用connection连接 然后在用command .type的只改变为你存储过程名字 现在忘记代码了 我以前做过
SQL2005的触发器怎么使用?
如果触发器表上存在约束,则在 INSTEAD OF 触发器执行后但在 AFTER 触发器执行前检查这些约束。如果约束破坏,则回滚 INSTEAD OF 触发器操作并且不执行 AFTER 触发器。 触发器到底可不可以在视图上创建 在 SQL Server™ 联机丛书中,是没有说触发器不能在视图上创建的, 并且在语法解释中表明:...
如何在C#中使用带有 触发器 的SQL语句
所以,你把触发器写好之后,只需要关注自己的SQL语句就可以了,不用去调用它,需要我们主动调用的是存储过程,相当于SQL server中的函数,ADO.NET提供了接口,(如有一个Trans 名字是@MyTran)调用的时候 SqlCommand cmd = new SqlCommand(sql, conn);//把Command执行类型改为存储过程方式,默认为Tex...
sql2005当一个表中有数据增加时,向另一个表中自动插入该数据,写成触 ...
这种可以用触发器来实现,不能用存储过程的 可以利用触发器中的临时表inserted来实现,该表记录的是当前插入的值或更新後的值,表结构与创建触发器的表是一样的。如 create trigger tr_insert on table1 for insert as begin insert into table2(col1,col2,col3) select a,b,c from inserted en...
SQL触发器如何使用
sql触发器使用方法如下:1、用来唤醒调用触发器以响应 INSERT、UPDATE 或 DELETE 语句。2、触发器是个特殊的存储过程,它的执行不是由程序调用,也不是手工启动。3、触发器是用来激活事件的,当对一个表进行操作,就可以激活触发器进行执行事件。4、触发器经常用于加强数据的完整性约束和业务规则等。5、...
sql server如何测试存储过程与触发器的建立是否正确
存储过程用exec 存储过程名,然后执行 触发器你可以加上输出语句,用 as print '执行了'如果对update做的,就更新一条数据看看,是否有消息,如果没有就说明没建成功,如果有再修改,将输出删除就可以了,修改就不是create了,是alter
如何使用sql语句创建触发器?
了解如何使用SQL语句创建触发器,首先需要明确触发器是数据库服务器中发生事件时自动执行的特殊存储过程。它们主要在响应数据操作语言(DML)事件、数据定义语言(DDL)事件或登录事件时触发。DML触发器用于在执行INSERT、UPDATE或DELETE语句时触发,而DDL触发器响应CREATE、ALTER和DROP等DDL事件。登录触发器则在...
请教如何使用SQL的触发器 数据库是MSSQLSERVER
DELETE触发器的工作过程 当触发DELETE触发器后,从受影响的表中删除的行将被放置到一个特殊的deleted表中。deleted表是一个逻辑表,它保留已被删除数据行的一个副本。deleted表还允许引用由初始化DELETE语句产生的日志数据。 使用DELETE触发器时,需要考虑以下的事项和原则: ·当某行被添加到deleted表中时,它就不...
SQL中存储过程与触发器有什么不同吗?
1、存储过程的功能:(1) 变量说明 (2) ANSI(美国国家标准化组织)兼容的SQL命令(如Select,Update….)(3) 一般流程控制命令(if…else…、while….)2、触发器的功能:(1) 强化约束(Enforce restriction)(2) 跟踪变化Auditing changes (3) 级联运行(Cascaded operation)三、二者的种类不同 1、存储...
SQLSERVER中触发器的触发类型有几种?
2、DDL触发器,是Sql Server2005新增的触发器,主要用于审核与规范对数据库中表,触发器,视图等结构上的操作。比如在修改表,修改列,新增表,新增列等。它在数据库结构发生变化时执行,主要用它来记录数据库的修改过程,以及限制程序员对数据库的修改。3、登录触发器,登录触发器将为响应 LOGIN 事件...
c语言怎么使用sql触发器
c语言怎么使用sql触发器:定义: 何为触发器?在SQL Server里面也就是对某一个表的一定的操作,触发某种条件,从而执行的一段程序。触发器是一个特殊的存储过程。常见的触发器有三种:分别应用于Insert , Update , Delete 事件。我为什么要使用触发器?比如,这么两个表:Create Table Student( --...