TSQL UDT ,ROWTYPE IDENTITY WHILE NO ROW_NUMBER()

USE [AdventureWorks2012]
GO
--START USER DEFINED TABLE TYPE: [I_Sto_N_SH_TABLE_TYPE]
IF EXISTS (SELECT 1 FROM   SYS.types AS t WHERE  t.name ='I_Sto_N_SH_TABLE_TYPE')
    DROP TYPE dbo.[I_Sto_N_SH_TABLE_TYPE]
GO
 
CREATE TYPE [dbo].[I_Sto_N_SH_TABLE_TYPE]AS TABLE(
	[ID]                   [bigint] IDENTITY(1, 1) NOT NULL,
	[BusinessEntityID]     [nvarchar](100) NULL,
	[PersonType]           [nvarchar](100) NULL,
	[NameStyle]            [nvarchar](100) NULL,
	[Title]                [nvarchar](100) NULL,
	[FirstName]            [nvarchar](100) NULL,
	[MiddleName]           [nvarchar](100) NULL,
	[LastName]             [nvarchar](100) NULL,
	[Suffix]               [nvarchar](100) NULL,
	[EmailPromotion]       [nvarchar](100) NULL,
	PRIMARY KEY CLUSTERED([ID] ASC)WITH (IGNORE_DUP_KEY = OFF)
)
GO


DECLARE @A [I_Sto_N_SH_TABLE_TYPE]
DECLARE @B [I_Sto_N_SH_TABLE_TYPE]
INSERT INTO @A
EXEC SP_EXECUTESQL @STATEMENT = 
     N'SELECT 
 
    [BusinessEntityID]          ,
	[PersonType]            ,
	[NameStyle]             ,
	[Title]                 ,
	[FirstName]             ,
	[MiddleName]            ,
	[LastName]              ,
	[Suffix]                ,
	[EmailPromotion]         FROM PERSON.PERSON
	'

DELETE TOP(1) FROM   @A OUTPUT DELETED.[BusinessEntityID],
       DELETED.[PersonType] ,
       DELETED.[NameStyle] , 
       DELETED.[Title] , 
       DELETED.[FirstName] , 
       DELETED.[MiddleName] , 
       DELETED.[LastName] , 
       DELETED.[Suffix] , 
       DELETED.[EmailPromotion] INTO @B

SELECT * FROM   @B

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值