34,590
社区成员
发帖
与我相关
我的任务
分享
IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'JB_用户帐号')
AND type in (N'U'))
DROP TABLE JB_用户帐号
GO
---->建表
create table JB_用户帐号([RKEY] int identity(1,1) primary key,[用户ID] varchar(3))
insert JB_用户帐号
select 'ddd'
GO
create TRIGGER [Trigg_UserIDAdd] ON [dbo].[JB_用户帐号]
INSTEAD OF INSERT
AS
BEGIN
IF EXISTS ( SELECT 1 FROM JB_用户帐号 A inner join Inserted B ON A.用户ID=B.用户ID)
BEGIN
--ROLLBACK TRAN
--使用前触发,下面这句不能用
--DELETE JB_用户帐号 WHERE 用户ID IN (SELECT 用户ID FROM Inserted)
RAISERROR('此登陆名已存在,请使用别的登陆名再试!',18,18)
END
else
begin
INSERT INTO [JB_用户帐号] SELECT 用户ID FROM inserted
end
END
go
insert JB_用户帐号
select 'jjj'
GO
--> 查询结果
SELECT * FROM JB_用户帐号
--> 删除表格
--DROP TABLE JB_用户帐号
RKEY 用户ID
----------- ----
1 ddd
2 jjj
(2 行受影响)
--> 数据库版本:
--> Microsoft SQL Server 2008 (RTM) - 10.0.1600.22
--> 测试数据:JB_用户帐号
IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'JB_用户帐号')
AND type in (N'U'))
DROP TABLE JB_用户帐号
GO
---->建表
create table JB_用户帐号([RKEY] int identity(1,1) primary key,[用户ID] varchar(3))
insert JB_用户帐号
select 'ddd'
GO
ALTER TRIGGER [Trigg_UserIDAdd] ON [dbo].[JB_用户帐号]
INSTEAD OF INSERT
AS
BEGIN
IF EXISTS ( SELECT 1 FROM JB_用户帐号 A inner join Inserted B ON A.用户ID=B.用户ID)
BEGIN
--ROLLBACK TRAN
DELETE JB_用户帐号 WHERE 用户ID IN (SELECT 用户ID FROM Inserted)
RAISERROR('此登陆名已存在,请使用别的登陆名再试!',18,18)
END
INSERT INTO [JB_用户帐号] SELECT 用户ID FROM inserted
END
insert JB_用户帐号
select 'iii'
GO
--> 查询结果
SELECT * FROM JB_用户帐号
--> 删除表格
--DROP TABLE JB_用户帐号
set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
go
ALTER TRIGGER [Trigg_UserIDAdd] ON [dbo].[JB_用户帐号]
FOR INSERT
AS
BEGIN
IF EXISTS ( SELECT A.用户ID FROM JB_用户帐号 A inner join Inserted B ON A.用户ID=B.用户ID)
BEGIN
--ROLLBACK TRAN
SELECT A.用户ID FROM JB_用户帐号 A inner join Inserted B ON A.用户ID=B.用户ID
DELETE JB_用户帐号 WHERE RKEY IN (SELECT RKEY FROM Inserted)
RAISERROR('此登陆名已存在,请使用别的登陆名再试!',18,18)
END
ELSE
BEGIN
INSERT INTO JB_用户帐号([用户ID]
,[密码]
,[级别]
,[功能]
,[用户名称]
,[单位]
,[创建日期]
,[修改日期]
,[有效状态]
,[建档人rkey]
,[修改人rkey]
,[中断时间]
,[中断人rkey]
,[邮箱]
,[电话])
SELECT [用户ID]
,[密码]
,[级别]
,[功能]
,[用户名称]
,[单位]
,[创建日期]
,[修改日期]
,[有效状态]
,[建档人rkey]
,[修改人rkey]
,[中断时间]
,[中断人rkey]
,[邮箱]
,[电话]
FROM INSERTED
END
END
SELECT * INTO #T1 FROM JB_用户帐号 where 用户id='ASDF'
SELECT * FROM #T1
UPDATE #T1 SET 用户id='1231ASDFAAAAA'
INSERT INTO JB_用户帐号([用户ID]
,[密码]
,[级别]
,[功能]
,[用户名称]
,[单位]
,[创建日期]
,[修改日期]
,[有效状态]
,[建档人rkey]
,[修改人rkey]
,[中断时间]
,[中断人rkey]
,[邮箱]
,[电话])
SELECT [用户ID]
,[密码]
,[级别]
,[功能]
,[用户名称]
,[单位]
,[创建日期]
,[修改日期]
,[有效状态]
,[建档人rkey]
,[修改人rkey]
,[中断时间]
,[中断人rkey]
,[邮箱]
,[电话]
FROM #T1