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
TSQL UDT ,ROWTYPE IDENTITY WHILE NO ROW_NUMBER()
最新推荐文章于 2021-01-19 19:25:26 发布