书上看到一段代码求解

xuyuchends 2010-06-19 10:16:35

SET NOCOUNT ON;
USE temp;
GO
IF OBJECT_ID('dbo.T1') IS NOT NULL
DROP TABLE dbo.T1;
GO
CREATE TABLE dbo.T1
(
keycol INT NOT NULL PRIMARY KEY,
datacol VARCHAR(10) NOT NULL
);
IF OBJECT_ID('dbo.Sequence') IS NOT NULL
DROP TABLE dbo.Sequence;
GO
CREATE TABLE dbo.Sequence(val INT NOT NULL);
INSERT INTO dbo.Sequence VALUES(0);
--创建触发器
CREATE TRIGGER trg_T1_ioi_assign_key ON dbo.T1 INSTEAD OF INSERT
AS

DECLARE @rc AS INT, @key AS INT;
SET @rc = @@rowcount;

IF @rc = 0 RETURN; -- if 0 affected rows, exit

-- Update sequence
UPDATE dbo.Sequence SET @key = val, val = val + @rc;

INSERT INTO dbo.T1(keycol, datacol)
SELECT @key + ROW_NUMBER() OVER(ORDER BY const), datacol
FROM (SELECT 1 AS const, datacol FROM inserted) AS I;
GO

请问SELECT 1 AS const, datacol FROM inserted这句是什么意思,请解释一下,谢谢
...全文
61 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
SQL77 2010-06-19
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 xuyuchends 的回复:]
傻掉了,我看懂了。把1赋值给 const。改头像了嘛,分都给你吧
[/Quote]
这个就是一个 列名AS 列标题的写法而已吧,还以为INSERTED问题


xuyuchends 2010-06-19
  • 打赏
  • 举报
回复
傻掉了,我看懂了。把1赋值给 const。改头像了嘛,分都给你吧
SQL77 2010-06-19
  • 打赏
  • 举报
回复
inserted

查帮助了解一下这个虚拟表

34,576

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧