首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

关于update语句的一点有关问题

2012-09-28 
关于update语句的一点问题我用select distinct a.ndj,b.gebjj, b.* from jh_rkmx a,sphwphpc bwherea.djbh

关于update语句的一点问题
我用
select distinct a.ndj,b.gebjj, b.* from jh_rkmx a,sphwphpc b
where a.djbh like 'JHB%' and a.spid=b.spid and a.pihao=b.pihao and a.pici=b.pici and a.ndj<>b.gebjj and b.ljshl<>'0'
能查询出几个数值 

但是为什么用
update b set b.gebjj=a.ndj from jh_rkmx a,sphwphpc b
where a.djbh like 'JHB%' and a.spid=b.spid and a.pihao=b.pihao and a.pici=b.pici and a.ndj<>b.gebjj and b.ljshl<>'0'
一直更新不过去,更新了没啥反映查询出来还是那些数值

[解决办法]
你的update写的有问题打个断点观察你的update语句

[解决办法]
update sphwphpc set sphwphpc.gebjj=jh_rkmx.ndj where jh_rkmx.djbh like 'JHB%' and jh_rkmx.spid=sphwphpc.spid and jh_rkmx.pihao=sphwphpc.pihao and jh_rkmx.pici=sphwphpc.pici and jh_rkmx.ndj<>sphwphpc.gebjj and sphwphpc.ljshl<>'0'
把你的update改成这样试试,因为之前你写的语法有问题

[解决办法]
建议查看一下sphwphpc表上是否有触发器.


[解决办法]

SQL code
UPDATE sphwphpc SET gebjj=a.ndj FROM jh_rkmx awhere a.djbh LIKE 'JHB%' AND a.spid=sphwphpc.spid AND a.pihao=sphwphpc.pihao AND a.pici=sphwphpc.pici AND a.ndj<>sphwphpc.gebjj AND sphwphpc.ljshl<>'0'
[解决办法]
update 后面应该是数据表名,不用别名
[解决办法]
如果update中的from子句出现了别名,那么update后面就要用别名。我觉得触发器的可能性比较大。我一直这样update都没出现过问题。
[解决办法]
语句应该是没有问题的。
[解决办法]
你确定第一条语句查出来的结果a,b两个表的数据都不是空的吗,

肯定不是触发器问题,批量修改是不过触发器的

试一下left join 更新一下看行不

热点排行