惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

博客园_首页
MongoDB | Blog
MongoDB | Blog
Google DeepMind News
Google DeepMind News
M
MIT News - Artificial intelligence
D
Docker
云风的 BLOG
云风的 BLOG
B
Blog
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
G
Google Developers Blog
GbyAI
GbyAI
T
Tailwind CSS Blog
罗磊的独立博客
博客园 - 三生石上(FineUI控件)
V
Visual Studio Blog
C
Check Point Blog
I
InfoQ
Microsoft Azure Blog
Microsoft Azure Blog
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
阮一峰的网络日志
阮一峰的网络日志
小众软件
小众软件
N
Netflix TechBlog - Medium
B
Blog RSS Feed
腾讯CDC
aimingoo的专栏
aimingoo的专栏

博客园 - 自己

查询端口被占用 android 环境配置 android 打包部署 多个数据库备份到同一个设备文件 sql split struts2 if 标签 - 自己 js返回上一页 IE Javascript 脚本失效解决办法 sql修改表名 sql修改列名 sql STUFF用法 sql REPLACE用法 破解Lockdir 如何把string类型转化成long类型 sql 函数 sql 增加一列,以sql语句形式向表中添加一列 Eclipse自动排版,Eclipse 代码自动排版 eclipse 如何显示行号 Eclipse如何调整字体颜色和大小
sql报错 必须声明表变量
自己 · 2009-09-28 · via 博客园 - 自己

Create Function GetString(@MainTableName varchar(50),@ReturnList varchar(50),@TargetList varchar(50),@MatchingList varchar(50)) Returns varchar(100) As begin return (SELECT @ReturnList FROM @MainTableName WHERE (@TargetList = @MatchingList)) end 报错信息“消息 1087,级别 15,状态 2,过程 GetString,第 5 行 必须声明表变量 "@MainTableName"。” 问了下同事,了解到错误所在,@MainTableName是文本类型,假设传进来的值是“user”,反应到语句当中就是 SELECT @ReturnList FROM ‘user’,这里明显就错了,如果写明表名,就不会报错,同理WHERE (@TargetList = @MatchingList) 也会出错, 只是在执行的时候不会报错 解决办法:1、写明表名 2、拼凑语句 declare @sql varchar(255) set @sql='select ' + @retStr + '=Content from ' + @strTable+ ' where ID=' +@strID +'and UnitDivis=' + @iUnitDivis + ' order by SerNo' EXEC (@sql)

posted on 2009-09-28 16:46  自己  阅读(8182)  评论()    收藏  举报