美文网首页
SqlServer 自定义表类型

SqlServer 自定义表类型

作者: YANG_LIVE | 来源:发表于2020-09-10 16:17 被阅读0次

一、自定义表类型的创建

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

相关文章

网友评论

      本文标题:SqlServer 自定义表类型

      本文链接:https://www.haomeiwen.com/subject/ugppektx.html