sql触发器语句


SQL语句:写一个触发器

SQL Server用作业调度作业的操作企业管理器 管理 SQL Server代理 右键作业 新建作业 “常规”项中输入作业名称 “步骤”项 新建 “步骤名”中输入步骤名 “类型”中选择”TransactSQL 脚本(TSQL)”插入的SQL脚本 “数据库”选择执行命令的数据库 “命令”中输入要执行的语句: EXEC 存储过程名 。

该存储过程用于创建表 确定 “调度”项 新建调度 “名称”中输入调度名称 “调度类型”中选择你的作业执行安排 如果选择”反复出现” 点”更改”来设置你的时间安排 每月25日。

SQL语句:写一个触发器

SQL Server用作业调度

作业的操作

企业管理器

管理

SQL Server代理

右键作业

新建作业

“常规”项中输入作业名称

“步骤”项

新建

“步骤名”中输入步骤名

“类型”中选择”TransactSQL 脚本(TSQL)”插入的SQL脚本

“数据库”选择执行命令的数据库

“命令”中输入要执行的语句:

EXEC 存储过程名 。 该存储过程用于创建表

确定

“调度”项

新建调度

“名称”中输入调度名称

“调度类型”中选择你的作业执行安排

如果选择”反复出现”

点”更改”来设置你的时间安排 每月25日

求SQL触发器语句

USE [Test]GOSET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGOCREATE TABLE [dbo].[部门信息]( [部门编号] [nchar](3) COLLATE Chinese_PRC_CI_AS NOT NULL, [部门名称] [nchar](10) COLLATE Chinese_PRC_CI_AS NOT NULL, [员工人数] [int] NOT NULL, CONSTRAINT [PK_部门信息] PRIMARY KEY CLUSTERED ( [部门编号] ASC)WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]) ON [PRIMARY]USE [Test]GOSET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGOCREATE TABLE [dbo].[员工信息]( [员工编号] [nchar](4) COLLATE Chinese_PRC_CI_AS NOT NULL, [员工姓名] [nchar](10) COLLATE Chinese_PRC_CI_AS NOT NULL, [性别] [nchar](2) COLLATE Chinese_PRC_CI_AS NOT NULL CONSTRAINT [DF_员工信息_性别] DEFAULT (N’男’), [出生年月] [datetime] NULL, [入职时间] [datetime] NULL, [部门编号] [nchar](3) COLLATE Chinese_PRC_CI_AS NOT NULL, CONSTRAINT [PK_员工信息] PRIMARY KEY CLUSTERED ( [员工编号] ASC)WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]) ON [PRIMARY]GOUSE [Test]GOALTER TABLE [dbo].[员工信息] WITH CHECK ADD CONSTRAINT [FK_员工信息_部门信息] FOREIGN KEY([部门编号])REFERENCES [dbo].[部门信息] ([部门编号]USE [Test]ALTER TABLE [员工信息] ADD CONSTRAINT CK_Employee_Sex CHECK (性别=’男’ or 性别=’女’ );消息213,级别16,状态1,第3 行插入错误: 列名或所提供值的数目与表定义不匹配use Testset ANSI_NULLS ONset QUOTED_IDENTIFIER ONgoALTER TRIGGER [uEmployee]ON [dbo].[员工信息] AFTER INSERTAS BEGINSET NOCOUNT ON;UPDATE [员工信息]SET 入职时间=getdate()enduse Testset ANSI_NULLS ONset QUOTED_IDENTIFIER ONgoALTER TRIGGER [uEmployee]ON [dbo].[员工信息] AFTER INSERTAS BEGINSET NOCOUNT ON;UPDATE [员工信息]SET 入职时间=getdate()end。

sql触发器中判断语句

这么写:

create trigger tg_name

on A

for insert

as

insert into B(id,date)

select id,date

from inserted

where id =’LT’

delete from B

from inserted,B

where *=’QXLT’ and *=*

求SQL触发器语句

USE [Test]

GO

SET ANSI_NULLS ON

GO

SET QUOTED_IDENTIFIER ON

GO

CREATE TABLE [dbo].[部门信息](

[部门编号] [nchar](3) COLLATE Chinese_PRC_CI_AS NOT NULL,

[部门名称] [nchar](10) COLLATE Chinese_PRC_CI_AS NOT NULL,

[员工人数] [int] NOT NULL,

CONSTRAINT [PK_部门信息] PRIMARY KEY CLUSTERED

(

[部门编号] ASC

)WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]

) ON [PRIMARY]

USE [Test]

GO

SET ANSI_NULLS ON

GO

SET QUOTED_IDENTIFIER ON

GO

CREATE TABLE [dbo].[员工信息](

[员工编号] [nchar](4) COLLATE Chinese_PRC_CI_AS NOT NULL,

[员工姓名] [nchar](10) COLLATE Chinese_PRC_CI_AS NOT NULL,

[性别] [nchar](2) COLLATE Chinese_PRC_CI_AS NOT NULL CONSTRAINT [DF_员工信息_性别] DEFAULT (N’男’),

[出生年月] [datetime] NULL,

[入职时间] [datetime] NULL,

[部门编号] [nchar](3) COLLATE Chinese_PRC_CI_AS NOT NULL,

CONSTRAINT [PK_员工信息] PRIMARY KEY CLUSTERED

(

[员工编号] ASC

)WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]

) ON [PRIMARY]

GO

USE [Test]

GO

ALTER TABLE [dbo].[员工信息] WITH CHECK ADD CONSTRAINT [FK_员工信息_部门信息] FOREIGN KEY([部门编号])

REFERENCES [dbo].[部门信息] ([部门编号]

USE [Test]

ALTER TABLE [员工信息]

ADD CONSTRAINT CK_Employee_Sex CHECK (性别=’男’ or 性别=’女’ );

消息213,级别16,状态1,第3 行

插入错误: 列名或所提供值的数目与表定义不匹配

use Test

set ANSI_NULLS ON

set QUOTED_IDENTIFIER ON

go

ALTER TRIGGER [uEmployee]

ON [dbo].[员工信息] AFTER INSERT

AS

BEGIN

SET NOCOUNT ON;

UPDATE [员工信息]

SET 入职时间=getdate()

end

use Test

set ANSI_NULLS ON

set QUOTED_IDENTIFIER ON

go

ALTER TRIGGER [uEmployee]

ON [dbo].[员工信息] AFTER INSERT

AS

BEGIN

SET NOCOUNT ON;

UPDATE [员工信息]

SET 入职时间=getdate()

end

SQL中触发器有什么作用

当你对表进行了添删改查等操作时,如果你需要做一些特定的业务操作,就可以使用触发器。

顾名思义,触发,当你做了某种预设的操作时才会执行触发器的命令举个例子。

假设你有个员工基础信息表,里面有员工的身份证号码,手机等基本信息。

那么,当你换了身份证或手机,需要修改号码的时候,肯定是去修改员工的基础资料表。假设你现在有别的地方,比如人事档案啊之类的,同样使用了员工的手机等信息。

。难道你还要再去修改一次档案表么。

。那么如果还有其他地方使用了呢?而触发器就可以在这种时候做出判断,如果修改了基础表的信息,那么就同步把其他使用了基础表信息的地方也更改成最新的信息。

。大概就是这么个意思。

。当然还有其他的作用。

sql触发器语句

CREATE OR REPLACE TRIGGER T_A_PD_SHAPE_GDJXTT AFTER INSERT ON PD_SHAPE_GDJXTT REFERENCING NEW AS NEW FOR EACH ROW BEGIN INSERT INTO PD_INFO_GDJXTT VALUES( :*_v, :*, :*_update, :*_name, :*_address); EXCEPTION WHEN OTHERS THEN Consider logging the error and then reraise RAISE; END ; 这个触发器的意思是当表PD_SHAPE_GDJXTT用INSERT插入记录的时候,向表PD_INFO_GDJXTT插入记录。