22,181
社区成员




create table #a(id decimal(24,6),numa nvarchar(1),value decimal(24,6))
declare @sql nvarchar(4000)
set @sql=' insert into #a select 100 as id ,''0''as numa,0.2 as value union select 200,''0'' ,0.3 union select 300,''0'',0.4'
exec (@sql)
-------------------------------
(3 row(s) affected)
CREATE TYPE SwapTab AS TABLE --定义
(
F1 VARCHAR(32) NULL,
F2 VARCHAR(32) NULL
)
GO
CREATE PROCEDURE SWAPTAB_TEST
(
@TAB SwapTab READONLY --声明一个表值变量.
)
AS
BEGIN
SELECT * FROM @TAB
END
GO
declare @TAb_1 as SwapTab --声明表值变量.
insert into @TAb_1 (f1,f2) values(1,2)
execute SWAPTAB_TEST @TAb_1 --传入表值变量.
create table #(id decimal(24,6),numa nvarchar(1),value decimal(24,6))
declare @sql nvarchar(4000)
set @sql=' insert # select 100 as id ,''0''as numa,0.2 as value union select 200,''0'' ,0.3 union select 300,''0'',0.4'
exec (@sql)
select * from #
DECLARE @TableVar table(id decimal(24,6),numa nvarchar(1),value decimal(24,6))
insert into @TableVar
select 100 as id ,'0'as numa,0.2 as value
union
select 200,'0' ,0.3
union
select 300,'0',0.4
select * from @TableVar
/*
id numa value
-------------------------- ---- --------------------------
100.000000 0 .200000
200.000000 0 .300000
300.000000 0 .400000
(所影响的行数为 3 行)
*/