SQL語句:寫一個觸發器
SQL Server用作業調度作業的操作企業管理器 --管理 --SQL Server代理 --右鍵作業 --新建作業 --"常規"項中輸入作業名稱 --"步驟"項 --新建 --"步驟名"中輸入步驟名 --"類型"中選擇"Transact-SQL 腳本(TSQL)"--插入的SQL腳本 --"數據庫"選擇執行命令的數據庫 --"命令"中輸入要執行的語句: EXEC 存儲過程名 。
--該存儲過程用于創建表 --確定 --"調度"項 --新建調度 --"名稱"中輸入調度名稱 --"調度類型"中選擇你的作業執行安排 --如果選擇"反復出現" --點"更改"來設置你的時間安排 每月25日。
SQL語句:寫一個觸發器
SQL Server用作業調度
作業的操作
企業管理器
--管理
--SQL Server代理
--右鍵作業
--新建作業
--"常規"項中輸入作業名稱
--"步驟"項
--新建
--"步驟名"中輸入步驟名
--"類型"中選擇"Transact-SQL 腳本(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 re-raise RAISE; END ; 這個觸發器的意思是當表PD_SHAPE_GDJXTT用INSERT插入記錄的時候,向表PD_INFO_GDJXTT插入記錄。