All articles| All Pictures| All Softwares| All Video| Go home page| Write articles| Upload pictures

Reading number is top 10 articles
ASP.NET中“找不到指定模块”的解决办法_.net资料_编程技术
C#,中的常用正则表达式总结_[Asp.Net教程]
SQL,Server,2005—有关开发的10个最重要的特点_[SQL,Server教程]_0
入门知识:动态网页PHP编程中字符串5个技巧_php资料_编程技术
圣殿骑兵PHP,2007年Web开发技术预言_php资料_编程技术
使用,SQL,Server,2005,数据库镜像功能时需要考虑的问题_[SQL,Server教程]
使用Data,Access,Application,Block,得到存储过程的返回值_[Asp.Net教程]
网站的ALEXA排名下降的原因及解决方法_JavaScript技术_编程技术
PHP输出控制功能在简繁体转换中的应用_[PHP教程]
SQL Server视图使用中4个限制条件_[SQL Server教程]
Reading number is top 10 pictures
这年头,找个靠谱的妹子太难了
男人帮杂志里的惹火性感美女1
美洲杯宝贝的雨中风情1
各种囧况!玩游戏最不喜欢出现的十件事(点评)
Take you to walk into the most true north Korea rural3
农夫山泉变身记
这张图有两句话,你看出来了吗?
Look for from human art net, is good--2
王艳写真温柔如水1
A man's favorite things4
Download software ranking
C语言教程TXT
美女写真3
jBuilder2006
Tram sex maniac 2 (H) rar bag14
中国结婚习俗实录
Tram sex maniac 2 (H) rar bag17
Wild things 2
Tram sex maniac 2 (H) rar bag8
Tram sex maniac 2 (H) rar bag6
asp.net技术内幕
aaa published in(发表于) 2014/7/19 0:09:05 Edit(编辑)
delphi中使用sql server触发器实例

delphi中使用sql server触发器实例

delphi中使用sql server触发器实例

触发器

1.利用触发器添加数据

用触发器对相关表添加数据时,所添加的记录将存储在系统临时表“inserted”中,可以将该表中的字段信息添加到其他表的相应字段中。在用触发器向其他表添加数据时,应注意表中的字段是否有不为空的记录。

下面利用触发器在“tb_Stu”表中添加记录后,在“tb_Mark”表中会自动添加相应的记录。

操作步骤如下:

(1)运行Delphi,在窗体中添加TADOConnection、TADOQuery、TDataSource、TButton、TEdit和TDBGrid等组件。

(2)主要程序代码如下:

with ADOQuery3 do

begin

Close;

SQL.Clear;

SQL.Add('CREATE TRIGGER '+Edit1.Text+' ON dbo.tb_Stu');

SQL.Add('FOR INSERT');

SQL.Add('AS');

SQL.Add('DECLARE @id Int,@name varChar(10)');

SQL.Add('Select @id=学生编号,@name=学生姓名 from inserted');

SQL.Add('INSERT INTO tb_Mark (学生编号,学生姓名,高数,外语,计算机文化基础,马经,数据库管理,数据结构,软件工程) VALUES (@id,@name,0,0,0,0,0,0,0)');

EXECSQL;

end;

2.利用触发器更新数据

在表中更新数据时,将更新前的数据存放在系统临时表“deleted”中,将更新后的数据存放在系统临时表“inserted”中。在触发器中可以根据“deleted”表中的字段对相关表进行查询,并用“inserted”表中的数据修改相关表中的信息。

下面利用触发器在“tb_Stu”表中更新记录后,在“tb_Mark”表中会自动更新相关的数据。

操作步骤如下:

(1)运行Delphi,在窗体中添加TADOConnection、TADOQuery、TDataSource、TButton、TEdit和TDBGrid等组件。

(2)主要程序代码如下:

with ADOQuery3 do

begin

Close;

SQL.Clear;

SQL.Add('CREATE TRIGGER '+Edit1.Text+' ON dbo.tb_Stu');

SQL.Add('FOR UPDATE');

SQL.Add('AS');

SQL.Add('DECLARE @id Int,@name varchar(10)');

SQL.Add('select @id=学生编号 from deleted');

SQL.Add('select @name=学生姓名 from Inserted');

SQL.Add('UPDATE tb_Mark SET 学生姓名=@name WHERE 学生编号 = @id');

EXECSQL;

end;

3.利用触发器删除数据

在对表中的数据进行删除时,会将删除的记录存入系统临时表“deleted”中,触发器将利用该表中的信息在相关表中进行查询,并删除符合条件的记录。

注意:如果某两个表是一对一的关系,那么触发器应创建在从表中。

下面利用触发器在“tb_Stu”表中删除记录后,“tb_Mark”表将自动删除相关的记录。

操作步骤如下:

(1)运行Delphi,在窗体中添加TADOConnection、TADOQuery、TDataSource、TButton、TEdit和TDBGrid等组件。

(2)主要程序代码如下:

with ADOQuery3 do

begin

Close;

SQL.Clear;

SQL.Add('CREATE TRIGGER '+Edit1.Text+' ON dbo.tb_Stu');

SQL.Add('FOR DELETE ');

SQL.Add('AS');

SQL.Add('DECLARE @id Int,@name varchar(10)');

SQL.Add('select @id=学生编号,@name=学生姓名 from deleted');

SQL.Add('Delete tb_Mark where 学生编号=@id and 学生姓名=@name');

EXECSQL;

end;




添加到del.icio.us 添加到新浪ViVi 添加到百度搜藏 添加到POCO网摘 添加到天天网摘365Key 添加到和讯网摘 添加到天极网摘 添加到黑米书签 添加到QQ书签 添加到雅虎收藏 添加到奇客发现 diigo it 添加到饭否 添加到飞豆订阅 添加到抓虾收藏 添加到鲜果订阅 digg it 貼到funP 添加到有道阅读 Live Favorites 添加到Newsvine 打印本页 用Email发送本页 在Facebook上分享


Disclaimer Privacy Policy About us Site Map

If you have any requirements, please contact webmaster。(如果有什么要求,请联系站长)
Copyright ©2011-
uuhomepage.com, Inc. All rights reserved.