SqlServer 自定义表类型

2020-09-10  本文已影响0人  YANG_LIVE

一、自定义表类型的创建

CREATE TYPE [dbo].[tpCRM_ActivityWx_Survey_Detail] AS TABLE(
    [Item_ID] [SMALLINT] NOT NULL DEFAULT ((0)),
    [Item_Field] [NVARCHAR](50) NOT NULL DEFAULT ('0'),
    [Item_Desc] [NVARCHAR](50) NOT NULL DEFAULT ('0'),
    [Priority] [SMALLINT] NOT NULL DEFAULT ((0)),
    [Is_Required] [BIT] NOT NULL DEFAULT ((0)),
    [Answer_Type] [VARCHAR](20) NOT NULL DEFAULT ('0')
)
GO
--删除 DROP TYPE [dbo].[tpCRM_ActivityWx_Survey_Details]

二、作为存储过程参数的传递。

自定义表类型作为存储过程的参数时,需要在后面加READONLY。

示例如下:

CREATE PROCEDURE dbo.up_test 
(
   @DefineTable tpCRM_ActivityWx_Survey_Detail READONLY 
)
AS
BEGIN
   --具体操作代码
END

三、调用带有自定义表参数的存储过程

DECLARE @define_table UserDefineTable

DECLARE @define_table TABLE
(
    material VARCHAR(40) NULL ,
    quantity NUMERIC(18, 4) NULL
)

INSERT  INTO @define_table
( material ,
    quantity
)
SELECT  'm01',10 UNION ALL
SELECT  'm02',20 UNION ALL
SELECT  'm03',33
EXEC up_test @define_table
上一篇 下一篇

猜你喜欢

热点阅读