top

笔记229 @@IDENTITY 全局变量解释2013-3-20

笔记229 @@IDENTITY 全局变量解释2013-3-20

复制代码
 1 --@@IDENTITY 全局变量解释2013-3-20
 2 --返回最后插入的标识值的系统函数。 http://msdn.microsoft.com/zh-cn/library/ms187342.aspx
 3 --以下示例向包含标识列(LocationID) 的表中插入一行,并使用 @@IDENTITY 显示新行中使用的标识值。
 4 
 5 USE [AdventureWorks];
 6 GO
 7 --Display the value of LocationID in the last row in the table.
 8 SELECT MAX (LocationID) FROM Production .Location;
 9 GO
10 INSERT INTO Production.Location (Name, CostRate, Availability , ModifiedDate)
11 VALUES ( 'Damaged Goods', 5 , 2.5, GETDATE());
12 GO
13 SELECT @@IDENTITY AS 'Identity';
14 GO
15 --Display the value of LocationID of the newly inserted row.
16 SELECT MAX (LocationID) FROM Production .Location;
17 GO
18 
19 ---------------------老张找出公司代码-------------------------------------
20 ALTER     FUNCTION [dbo].[Company_GetCompanyCodes] (@CompanyCode varchar(40))
21 RETURNS @temp TABLE (CompanyCode varchar(40))
22 AS
23 begin
24        DECLARE @tmpCompanyCode VARCHAR (40)
25     -- 用法select * from Company_GetCompanyCodes('22')
26        --INSERT INTO @temp VALUES(@CompanyCode)
27        IF(EXISTS (SELECT CompanyID FROM Company WHERE ParentCompanyCode=@CompanyCode))
28        BEGIN
29              INSERT INTO @temp VALUES (@CompanyCode)
30              DECLARE @i INT
31              DECLARE @total INT
32              DECLARE @tmp1 TABLE (theid int IDENTITY(1,1) NOT NULL, CompanyCode VARCHAR(40))
33              INSERT INTO @tmp1(CompanyCode)
34              SELECT CompanyCode FROM Company WHERE ParentCompanyCode=@CompanyCode
35              set @total=@@IDENTITY
36              SET @i=1
37              WHILE(@i<=@total)
38              BEGIN
39                    SELECT @tmpCompanyCode= CompanyCode FROM @tmp1 WHERE theid=@i
40                    IF(EXISTS (SELECT CompanyID FROM Company WHERE ParentCompanyCode=@tmpCompanyCode))
41                    BEGIN
42                          INSERT INTO @temp(CompanyCode)
43                          SELECT CompanyCode FROM Company_GetCompanyCodes(@tmpCompanyCode)
44                    END
45                    ELSE
46                    BEGIN
47                          INSERT INTO @temp VALUES (@tmpCompanyCode)
48                    END
49                   
50                    SET @i=@i+1
51              END
52        END
53        ELSE
54        BEGIN
55              INSERT INTO @temp VALUES (@CompanyCode)
56        END
57    RETURN
58 end
复制代码

 

posted @   桦仔  阅读(430)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!
点击右上角即可分享
微信分享提示