关于image类型的动态sql

jnywxxb 2006-08-19 05:15:17
create proc p_uploadfile
@表名 varchar(20),
@文件名称 varchar(200),
@文件类型 varchar(16),
@文件大小 varchar(50),
@创建时间 varchar(16),
@存储 image,
@所属表名 varchar(50),
@记录序号 bigint
as

declare @tablename varchar(20)
set @tablename=@表名
declare @sql varchar(8000)
set @sql='insert into '+@tablename+'(文件名称,文件类型,文件大小,创建时间,存储,所属表名,记录序号)'
set @sql=@sql+'values('''+@文件名称+''','''+@文件类型+''','''+@文件大小+''','''+@创建时间+''','''+cast(@存储 as Nvarchar)+''','''+@所属表名+''','+cast(@记录序号 as varchar(10))+')'
print @sql
exec(@sql)

现在传过来的参数'@存储'是image类型,我该如何来组合这个@sql语句变量??
上面我写的'''+cast(@存储 as Nvarchar)+'''不行,不允许image->varchar转换,大家说这个sql语句该如何组合?
...全文
272 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
zjcxc 2006-08-22
  • 打赏
  • 举报
回复
全角替换成半角一逗号, 这个似乎你发消息过来时我已经回复过了.

chuifengde 2006-08-22
  • 打赏
  • 举报
回复
很明显,你语句中的","是全角的,当然报这个错
jnywxxb 2006-08-21
  • 打赏
  • 举报
回复
老大,你给我的方法出现以下信息:
insert into DQ11_原文存储表(文件名称,文件类型,文件大小,创建时间,存储,所属表名,记录序号)
values(@文件名称,@文件类型,@文件大小,@创建时间,@存储,@所属表名,@记录序号)
服务器: 消息 170,级别 15,状态 1,行 9
第 9 行: ',' 附近有语法错误。
-----------
我实在看不出有啥语法错误啊!
zjcxc 2006-08-19
  • 打赏
  • 举报
回复
sp_executesql , 用动态参数传递, 不用考虑数据类型的
zjcxc 2006-08-19
  • 打赏
  • 举报
回复
create proc p_uploadfile
@表名 varchar(20),
@文件名称 varchar(200),
@文件类型 varchar(16),
@文件大小 varchar(50),
@创建时间 varchar(16),
@存储 image,
@所属表名 varchar(50),
@记录序号 bigint
as

declare @tablename varchar(20)
set @tablename=@表名
declare @sql nvarchar(4000)
set @sql='insert into '+@tablename+'(文件名称,文件类型,文件大小,创建时间,存储,所属表名,记录序号)
values(@文件名称,@文件类型,@文件大小,@创建时间,@存储,@所属表名,@记录序号)'
print @sql
exec sp_executesql @sql,
N'
@文件名称 varchar(200),
@文件类型 varchar(16),
@文件大小 varchar(50),
@创建时间 varchar(16),
@存储 image,
@所属表名 varchar(50),
@记录序号 bigint
',
@文件名称,
@文件类型,
@文件大小,
@创建时间,
@存储,
@所属表名,
@记录序号
jnywxxb 2006-08-19
  • 打赏
  • 举报
回复
to :i9988(冒牌j9988 V0.2)
我的数据库有很多这样一样结构的表,表名是不固定 的
不用动态的怎么办呀!!
chuifengde 2006-08-19
  • 打赏
  • 举报
回复
在确定不超过8000个字符的情况下可以这么试试,convert(varchar(7000),convert(varbinary(7000),@存储))
i9988 2006-08-19
  • 打赏
  • 举报
回复
没必要用动态呀!?
i9988 2006-08-19
  • 打赏
  • 举报
回复
做不了

27,581

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 应用实例
社区管理员
  • 应用实例社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧