SQL Server UPDATE的賦值次序的實例演示
作者:佚名
此文章主要講述的是SQL Server UPDATE的賦值次序,相信如果你掌握了這項技術,相信你會在以后的學習或是工作中帶來很大的幫助。
文章主要描述的是SQL Server UPDATE的賦值次序,假如你對SQL Server UPDATE的賦值次序?qū)嶋H操作感到十分頭疼?如果是這樣子的話,以下的文章將會給你相應的解決方案,以下就是相關內(nèi)容的具體描述。
1) 先變量再字段
- SET NOCOUNT ON;
- DECLARE @i INT, @j INT
- DECLARE @Table TABLE
- (
- Id1 INT,
- Id2 INT
- );
- INSERT @Table(Id1, Id2)
- SELECT 1, 10
- UNION ALL
- SELECT 2, 20
- UNION ALL
- SELECT 3, 30;
- SELECT @i = 1, @j = 0
- UPDATE @Table SET Id1 = @i, Id2 = Id1, @i = @i + 1
- SELECT * FROM @Table
- SELECT @i = 1, @j = 0
- UPDATE @Table SET Id1 = @i, Id2 = @j, @j = @i + 10, @i = @i + 1
- SELECT * FROM @Table
- SET NOCOUNT OFF;
結果:
- Id1 Id2
- 2 1
- 3 2
- 4 3
- Id1 Id2
- 2 11
- 3 12
- 4 13
2) 變量之間, 從左到右
- SET NOCOUNT ON;
- DECLARE @i INT, @j INT
- DECLARE @Table TABLE
- (
- Id1 INT,
- Id2 INT
- );
- INSERT @Table(Id1, Id2)
- SELECT 1, 10;
- SELECT @i = 1, @j = 0
- UPDATE @Table SET @j = @i, @i = @i + 1
- PRINT '@i = ' + CAST(@i AS VARCHAR) + ', @j = ' + CAST(@j AS VARCHAR)
- SELECT @i = 1, @j = 0
- UPDATE @Table SET @i = @i + 1, @j = @i
- PRINT '@i = ' + CAST(@i AS VARCHAR) + ', @j = ' + CAST(@j AS VARCHAR)
- SELECT @i = 1, @j = 0
- UPDATE @Table SET @i = @j + 1, @j = @i
- PRINT '@i = ' + CAST(@i AS VARCHAR) + ', @j = ' + CAST(@j AS VARCHAR)
- SELECT @i = 1, @j = 0
- UPDATE @Table SET @i = @j, @j = @i
- PRINT '@i = ' + CAST(@i AS VARCHAR) + ', @j = ' + CAST(@j AS VARCHAR)
- SET NOCOUNT OFF;
結果:
- @i = 2, @j = 1
- @i = 2, @j = 2
- @i = 1, @j = 1
- @i = 0, @j = 0
3) 字段之間, 并行執(zhí)行
- SET NOCOUNT ON;
- DECLARE @Table TABLE
- (
- Id1 INT, Id2 INT
- );
- INSERT @Table(Id1, Id2)
- SELECT 1, 10
- UNION ALL
- SELECT 2, 20
- UNION ALL
- SELECT 3, 30;
- UPDATE @Table SET Id1 = Id2, Id2 = Id1
- SELECT * FROM @Table
- SET NOCOUNT OFF;
結果:
- Id1 Id2
- 10 1
- 20 2
- 30 3
以上的相關內(nèi)容就是對SQL Server UPDATE的賦值次序的介紹,望你能有所收獲。
【編輯推薦】
責任編輯:佚名
來源:
新華網(wǎng)