Sqlserver表类型和表名同事传参数据库 *** 作

Sqlserver表类型和表名同事传参数据库 *** 作,第1张

概述自定义表类型如下: CREATE TYPE [dbo].[UdtStatItem] AS TABLE( [ObjCode] [bigint] NULL, [TimeCode] [int] NULL, [Data] [int] NULL ) GO 传过来的是一个DataTable类型  的表跟表类型对应; 存储过程如下 CREATE proc [dbo].[proc_WeekStat] @tbNam

自定义表类型如下:

CREATE TYPE [dbo].[UdtStatItem] AS table(
[ObjCode] [bigint] NulL,
[TimeCode] [int] NulL,
[Data] [int] NulL
)
GO


传过来的是一个Datatable类型  的表跟表类型对应;


存储过程如下


CREATE proc [dbo].[proc_WeekStat]

@tbname varchar(50)
,@tvpNew UdtStatItem Readonly
as
begin
declare @sql1 nvarchar(max);
declare @sql2 nvarchar(max);
set @sql1=N'update tb set tb.data=tb.data+tn.Data from @p tn left join '+
@tbname+N' tb on tn.objCode=tb.objCode and tn.TimeCode=tb.TimeCode where tb.TimeCode IS NOT NulL and tb.objCode IS NOT NulL'

Exec sp_executesql @sql1,N'@p UdtStatItem Readonly',@tvpNew;

end

GO


这里面主要内容是Exec sp_executesql @sql1,@tvpNew; 这句里面

@sql1是拼的SQL语句。传过来的表名直接拼。@p是表类型,所以要说明类型

总结

以上是内存溢出为你收集整理的Sqlserver表类型和表名同事参数据库 *** 作全部内容,希望文章能够帮你解决Sqlserver表类型和表名同事传参数据库 *** 作所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/sjk/1174002.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-02
下一篇 2022-06-02

发表评论

登录后才能评论

评论列表(0条)

保存