小编Ben*_*erg的帖子

明智地使用触发器来更新另一个表?

我有一个Object表,它是从另一个数据库的集成服务(如果需要,我可以更改)填充的。在某些时候,我们需要在另一个表中手动添加帖子,ObjectObjectGroup (ObjectId, ObjectGroupId)如果Object.ObjectType有某个整数值,则需要该表。由于集成服务不处理这种更新,我正在考虑向 Object 表添加一个触发器,其伪代码如下:

if Object.ObjectType = 10
    begin
        if Object.ObjectNumber like '<string pattern>'
        begin
            insert into ObjectObjectGroup values...
        end
    end
Run Code Online (Sandbox Code Playgroud)

这种设置是明智的,还是在性能方面有更好的方法?

trigger sql-server

8
推荐指数
1
解决办法
4558
查看次数

SELECT INTO 创建一个新表?

我有一个MessageQueue六列的原始表格。当我尝试对该表执行 SELECT INTO 时,<network domain\user name>.MessageQueue当我使用以下代码时,它会创建一个仅包含三列的新(本地)表。我究竟做错了什么?

declare 
    @TempTable table (idx smallint Primary Key IDENTITY(1,1), OneId int, OtherId int)

declare 
    @OneId int,
    @OtherId int,
    @date datetime = dbo.GetFloorDate(getdate()),
    @i int = 1

insert @TempTable select Id, OtherId from One where @date = (select dbo.GetSomeDate (Id))

select MessageId = 9999, OneId, OtherId into MessageQueue from @TempTable

select * from MessageQueue
Run Code Online (Sandbox Code Playgroud)

sql-server t-sql

5
推荐指数
1
解决办法
1046
查看次数

T-SQL MOVE 是实际移动数据库,还是只是复制?

我对 T-SQL 命令 MOVE 有点困惑。我有一个声明说:

MOVE 
N'Prod_Database_Data' 
TO 
N'C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\DATA\Test_Database.mdf'
GO
Run Code Online (Sandbox Code Playgroud)

日志上使用了相同的语句:Prod_Database_Log。我认为该语句只是制作了数据库的副本,而不是实际移动原始数据库。我是对的还是我错过了一些根本上至关重要的东西?

sql-server-2008 t-sql

4
推荐指数
1
解决办法
809
查看次数

标签 统计

sql-server ×2

t-sql ×2

sql-server-2008 ×1

trigger ×1