一、自定义表类型的创建
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
网友评论