Sqlserver触发器

触发器这个东西这是第一次真正接触,是因为用视图实现了分片透明性之后还想要实现操作透明性。闲话不多说,先上一段代码:

create trigger rtuwell_trigger_insteadof_insert
on RTU_WELL
    instead of insert
as
    declare @RTUID int, @WELLID int;
    select @RTUID=RTU_ID,@WELLID=WELL_ID from inserted;
    if(@RTUID>6)
        insert into rtuwell_2 values(@RTUID,@WELLID);
    else
        insert into rtuwell_1 values(@RTUID,@WELLID);
go

最重要的部分是asgo中间的部分,首先需要定义变量,这个定义的变量就是你想要触发器操作的所有变量,我的这个表里面只有两列,一列是RTUID,一列是WELLID,这两个都是int型的。

然后因为这个是instead of insert所以需要把要操作的内容从inserted黑洞中拉出来,然后再进行处理。当然如果是instead of delete那么就是deleted黑洞了。

最后附上原文链接(这里面有详细的内容):
SQL Server 触发器

使用命令行将数据库文件导入数据库

之前就想把这个记录到博客里面,但是觉得以后用的机会不多,就没记录,但是今天课题组的同志需要用我的电脑当数据库服务器,需要我导入数据库,所以又用到了,我就记录下来吧。(摘自百度知道


sqlcmd

sqlcmd -S "localhost\SQLEXPRESS"
USE [master]
GO
CREATE DATABASE [TEST] ON
( FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL10.SQLEXPRESS\MSSQL\DATA\TEST.mdf' ),
( FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL10.SQLEXPRESS\MSSQL\DATA\TEST_log.ldf' )
 FOR ATTACH ;
GO

liyu34
43 声望1 粉丝

软件工程在读研究生一枚