SQL server update执行顺序
---示例数据
--drop table [TempOrder]
--------
CREATE TABLE [dbo].[TempOrder]([FEntryID] [int] IDENTITY(1,1) NOT NULL,FInterID int not null default(0),[FItemID2] [int] NOT NULL
CONSTRAINT [PK_TEMP_Order] PRIMARY KEY CLUSTERED
(
[FEntryID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
-------
insert into TempOrder(FInterID,FItemID2) values(10,256)
------------------------------
--drop table [TEST]
------------------------------
CREATE TABLE [dbo].[TEST](FID INT IDENTITY(1,1),FInterID int not null default(0),FItemID INT NOT NULL DEFAULT(0) )
-------
insert into TEST(FInterID,FItemID) values (10,300)
insert into TEST(FInterID,FItemID) values (10,400)
-------
update T1 set T1.FItemID2=T2.FItemID
from TempOrder T1
join TEST T2
on T1.FInterID=T2.FInterID
-------
select * from TempOrder
-------
--TempOrder.FItemID2=300,为什么? update执行顺序是什么?
--drop table [TempOrder]
--------
CREATE TABLE [dbo].[TempOrder]([FEntryID] [int] IDENTITY(1,1) NOT NULL,FInterID int not null default(0),[FItemID2] [int] NOT NULL
CONSTRAINT [PK_TEMP_Order] PRIMARY KEY CLUSTERED
(
[FEntryID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
-------
insert into TempOrder(FInterID,FItemID2) values(10,256)
------------------------------
--drop table [TEST]
------------------------------
CREATE TABLE [dbo].[TEST](FID INT IDENTITY(1,1),FInterID int not null default(0),FItemID INT NOT NULL DEFAULT(0) )
-------
insert into TEST(FInterID,FItemID) values (10,300)
insert into TEST(FInterID,FItemID) values (10,400)
-------
update T1 set T1.FItemID2=T2.FItemID
from TempOrder T1
join TEST T2
on T1.FInterID=T2.FInterID
-------
select * from TempOrder
-------
--TempOrder.FItemID2=300,为什么? update执行顺序是什么?
...全文
相关推荐
SQL SERVER 图形执行计划中的图标学习
SQL Server 图形执行计划是数据库管理员和开发人员分析查询性能的重要工具。通过对执行计划中不同图标的理解,我们可以深入理解SQL Server如何处理查询,并优化数据库性能。
SQL SERVER 语句大全.rar
存储过程:预编译的SQL语句集合,可执行复杂逻辑,提高性能并减少网络通信。2. 触发器:在DML操作(INSERT、UPDATE、DELETE)前后自动执行的代码,用于实现业务规则或审计功能。
SQL Server 2000视图问题
SQL Server支持四种类型的索引:唯一索引(防止重复值)、簇索引(决定了表数据的物理存储顺序)、非簇索引(独立于数据存储的逻辑顺序)和复合索引(基于多个列的索引)。
SQL_Server数据库笔试题集合.doc
7) 这段T-SQL代码会在stuMarks表中找到不及格的学员并给他们提升5分,循环执行直到没有不及格的学员。因此,选项D是正确的描述。
《SQL Server语言参考大全》+语法大全
**触发器(Trigger)** 触发器是一种特殊的存储过程,会在特定的DML操作(如INSERT、UPDATE、DELETE)发生后自动执行,用于实现复杂的业务规则和约束。10.


疑难问题
