错误的SQL脚本,错误消息 4104
消息 4104,级别 16,状态 1,第 1 行
The multi-part identifier "S.RetailQty" could not be bound.
我的脚本如下:
from #StorageDetail S inner join #RetailBill R
on (S.ShopId = R.ShopId)
and S.prodid = R.prodid
and S.color = R.color
and S.Size = R.Size
经多方查询无果后,我只有自己用一个最简单的DEMO来测试我得这个更新语法结果发现了问题。
我的DEMO的代码如下:
insert into #A(a,b,qty) values('A01','0',10)
insert into #A(a,b,qty) values('A02','0',9)
insert into #A(a,b,qty) values('A02','0',9)
insert into #A(a,b,qty) values('A03','0',8)
insert into #A(a,b,qty) values('A04','0',7)
create table #B (a char(10), b char(10),qty int)
insert into #B(a,b,qty) values('A01','0',1)
insert into #B(a,b,qty) values('A02','0',2)
insert into #B(a,b,qty) values('A03','0',3)
insert into #B(a,b,qty) values('A03','0',8)
insert into #B(a,b,qty) values('A04','0',4)
alter table #a add qty2 int
update a set a.qty2 = b.qty from #a a inner join #b b
on a.a = b.a and a.b = b.b
select * from #a
select * from #b
drop table #a
drop table #b
结果这个DEMO执行正常,在仔细比较两个更新语句发现问题处在对表使用别名上。在DEMO中我Update 后跟的表名是#a 的别名a,而我正式脚本中的Update后跟的是表名,而不是别名。后来又把这个临时表改为正式表,也是这样。这说明在一个SQL语句中如果定义了表的别名就必须使用别名,而不能再继续使用表名。否则就会出错。
洪虎
2006-10-19
转载于:https://www.cnblogs.com/eric1394/archive/2006/10/19/533886.html
错误的SQL脚本,错误消息 4104相关推荐
- 2016 server sql 错误53_MS SQL Server 错误53 错误17是什么?如何解决
展开全部 53是安装程序e68a8462616964757a686964616f31333335336532被挂起 1.先运行你的安装程序,当提示挂起时,点击"确定",切记,不要退 ...
- sql常见语法_常见SQL语法错误以及解决方法
sql常见语法 SQL Server Management Studio, errors can be tracked down easily, using the built in 错误列表&quo ...
- 转贴:Microsoft OLE DB Provider for SQL Server错误80040e37
问题原因: 把数据库备份还原到另一个服务器时,可能会产生孤立用户的问题: 解决办法: 步骤:1.把备份的数据库还原到新的数据库服务器中( 1.1企业管理器-->1.2数据库(右键)-->1 ...
- 【若依(ruoyi)】quartz.sql 脚本重新导入时,遇到因foreign key外键无法删除错误#1217
目录 前言 问题原因 解决办法1:先删除外键 解决办法2:禁用外键约束 前言 若依(ruoyi) 4.2 quartz.sql 脚本重新导入,遇到错误#1217 问题原因 在某些表上存在外键.重新导入 ...
- 解决方案 -SQL脚本建表产生ORA-00942错误
解决方案 -SQL脚本建表产生ORA-00942错误 参考文章: (1)解决方案 -SQL脚本建表产生ORA-00942错误 (2)https://www.cnblogs.com/sh086/p/83 ...
- 事务执行sql脚本,错误后回滚
1.手动commit,rollback -- 开启事务 START TRANSACTION; -- 关闭自动提交 SET autocommit = 0;-- 要执行的sql INSERT INTO ` ...
- 可恶的MSSQL 内部 SQL Server 错误。(臭BUG)
服务器: 消息 8624,级别 16,状态 1,行 442 内部 SQL Server 错误. 郁闷了两天的问题终于得到了解决.记下来 前天突然客户反应[客户订单],用的好好的居然有"内部错 ...
- 由于TempDB设置错误导致SQL Server无法重启错误的解决方案
场景: 前几天接到一个朋友的电话,说他们由于将TempDB设置错误导致SQL Server无法重启,让我帮忙看看. 他们本来是想将TempDB的文件挪动到其他路径,比如准确的脚本应该是: USE ma ...
- SQL Server自动化运维系列——监控磁盘剩余空间及SQL Server错误日志(Power Shell)...
原文:SQL Server自动化运维系列--监控磁盘剩余空间及SQL Server错误日志(Power Shell) 需求描述 在我们的生产环境中,大部分情况下需要有自己的运维体制,包括自己健康状态的 ...
- 使用xp_readerrorlog命令读取SQL Server错误日志
This article explores the xp_readerrorlog command for reading SQL Server error logs using T-SQL. 本文探 ...
最新文章
- 贝索斯:亚马逊正探讨人脸识别如何监管
- 完美解决小程序一维数组循环渲染列表不够用问题
- Visual Studio 2015 for Linux更好地支持Linux下的开发
- json2.js的初步学习与了解(转)
- Shell 编程进阶笔记
- jQuery的next()、nextAll()、nextUntil()方法
- js与C++交互及C++解析json
- expected initializer before
- 浅入深出被人看扁的逻辑回归!
- 12.01 晚 心情 阴雨 既然能力支撑不起自己的野心就先沉下心来努力学习好让有一天重新出现在江湖大放光芒...
- 关于a+b共创建了几个对象的问题
- sonic——可替代Elasticsearch的简单搜索引擎
- SpringBoot 统一异常处理最佳实践 -- 拓展篇
- wordpress模板
- Python爬虫(四)——小说下载器
- 谷歌工程师深度技术分析“为什么ios比android流畅
- VMware下如何虚拟软盘启动
- 进军欧罗巴:中国区块链企业何以敲开欧洲市场的大门
- 尚德机构营收同比大涨22.9%,高增长可持续吗?
- 几行JS代码防止网站在QQ和微信被举报