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插入记录。