SQL Update语句的执行顺序
执行顺序:从左到右,变量优先,逐行更新
摘自CSDN的例子(http://topic.csdn.net/u/20091030/16/7fd75fa6-bdb9-4516-9b27-48aef69703ba.html
http://topic.csdn.net/u/20090904/16/e5dad9c7-fb59-41b9-b28d-e3b71c3e8420.html)
1.变量优先
create table #t (field1 varchar(10),field2 varchar(10))
insert #t select 'a','b'
declare @str varchar(10)
set @str='Test'
update #t set Field1=@str,@str=Field2,Field2=Field1
select * from #t
drop table #t
/*field1 field2
---------- ----------
b a*/
2.逐步更新
if OBJECT_ID('ta') is not null drop table ta
create table ta(empNo varchar(8) ,empName varchar(20),nIndex int) --drop table ta
insert into ta
select 'A0001','張三',null
union
select 'A0002','李四',null
union
select 'A0003','王二',null
union
select 'A0004','趑六',null
declare @tmpIndex int
set @tmpIndex=0
update ta set nIndex=@tmpIndex,@tmpIndex=@tmpIndex+1
select * from ta
/*
empNo empName nIndex
A0001 張三 1
A0002 李四 2
A0003 王二 3
A0004 趑六 4
*/
(1 行受影响)*/
3.字段之间, 并行执行
create table #t (field1 varchar(10),field2 varchar(10))
insert #t select 'a','b'
declare @str varchar(10)
update #t set Field1=Field2,Field2=Field1
select * from #t
/*
field1 field2
---------- ----------
b a
*/
1, 先变量再字段
2, 变量之间, 从左到右
3, 字段之间, 并行执行
相关文档:
--> Title : SQL Server2005 Synonym的使用
--> Author : wufeng4552
--> Date : 2009-10-30
1.Synonym的概念
Synonym(同义词)是SQL Server 2005的新特性。可以简单的理解Synonym为其他對象的别名。
語法
CREATE SYNONYM [ schema_name_1. ] synonym_name FOR & ......
一.注释
-- 单行注释,从这到本行结束为注释sql 语法,类似C++,c#中//
/* … */ 多行注释,类似C++,C#中/* … */
二.变量(int, smallint, tinyint, decimal,float,real, money ,smallmoneysql 语法, text ,image, char, varchar。。。。。。)
语法:
DECLARE
&nb ......
首先给出两张测试表
a(aid int, adata varchar(20)) b(bid int, bdata varchar(20))
1.join 与 inner join
执行如下语句:
select * from a join b on a.aid = b.bid;
我们会得到如下的结果:
AID ADAT ......
NULL
是数据库中特有的数据类型,当一条记录的某个列为
NULL
,则表示这个列的值是未知的、是不确定的。既然是未知的,就有无数种的可能性。因此,
NULL
并不是一个确定的值。
这是
NULL
的由来、也是
NULL
的基础,所有和
NULL
相关的操作的结果都可以从
NULL
的概念推导出来。
判断一个字段是否为
NULL
......
如何连接到另一台机器上的sql server 2005
一、要进行两个地方的设置
1 点开始—程序—sql server 2005 –配置工具—sql server 2005应用配置器 ,如图:
选本地连接和远程连接中的 仅使用tcp/ip或& ......