SQL Server 怎么用存触发器实现从一个表里查询数据,然后插入到另一个表里

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SQL Server 怎么用存触发器实现从一个表里查询数据,然后插入到另一个表里相关的知识,希望对你有一定的参考价值。

我被插入的表里有3个字段,一个主键,其中字段都不能为空,要从另一个表里插入一个字段到被插入的表中,另外两个是默认值

参考技术A 表结构
create table MyUser
(
UserName nvarchar(50) primary key,
PassWord nvarchar(50),
state int
)

//触发器
create trigger [MyUser_trigger]
on [dbo].[MyUser]
for insert,delete
as
begin
if exists ( select * from sysobjects where name = 'temp' and type = 'U')
drop table temp
select identity(int,1,1) as rowid,UserName into temp from MyUser
end

//测试数据
insert MyUser values('123','123',1)
insert MyUser values('admin','123456',2)
insert MyUser values('1234','1234',1)
insert MyUser values('administrator','123',2)追问

假如被插入的是部分字段呢?就是就是从一个表中选一个字段插入到另一个表中,但被插入的其它字段还不能为空

从sql表里截取字符串中的日期

数据库TEST表中有一个text字段,字段里有一行内容:
(前面省略)......
AND 日期字段 between '2016-01-01' and '2016-12-31'
.......(后面省略语句)
从这段语句中获取 between 和 and 中的日期 2016-01-01
注:该语句前后还有省略的不固定长度语句,该用什么方法去截取

Select SUBSTRING(text,CHARINDEX('between',text)+9 ,10) from test

SUBSTRING ( character_expression , start , length )
函数说明:SUBSTRING ( '源字符串' , '截取起始位置(含该位置上的字符)' , '截取长度' )
返回字符、binary、text 或 image 表达式的一部分
select SUBSTRING('SQL_Server_2008',5 ,6);
返回结果:Server
参考技术A 你是在函数里面写还是存储过程,如果是存储过程,可以将该日期值放入全局变量之中,可以在另外一个函数中得到的

以上是关于SQL Server 怎么用存触发器实现从一个表里查询数据,然后插入到另一个表里的主要内容,如果未能解决你的问题,请参考以下文章

关于使用sql server 2008触发器完成修改一张表里一个字段同时修改另一张表的另一字段

从sql表里截取字符串中的日期

关于SQL SERVER的修改数据问题.难得我哦

sqlserver数据库里怎么查找一个表里的约束,要查出 约束名、列名、约束类型?用sql语句查询

sql插入的操作

sql server 2008r2 向带有索引的表里大批量插入数据