VerySource

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 33|回复: 5

一个简单的问题!

[复制链接]

1

主题

3

帖子

4

积分

新手上路

Rank: 1

积分
4
发表于 2020-3-24 11:00:02 | 显示全部楼层 |阅读模式
Declare
hh dlyx.y_khda.hh%Type;
s Number :=0;
Begin
For m In (Select * From tmhb070101 t)
Loop
Select Count(*)
Into s
From dlyx.y_khda@yjdlyx k Where
substr(k.yhh,1,length(k.yhh)-3)=m.yhh And k.dw Like '0303%';
dbms_output.put_line(s);
If s = 1 Then
   Select k.hh
   Into hh
   From dlyx.y_khda@yjdlyx k Where
   substr(k.yhh,1,length(k.yhh)-3)=m.yhh;
   dbms_output.put_line(hh);
   Update tmhb070101 tm
   Set tm.hh = hh
   Where tm.yhh = m.yhh;
End If;
End Loop;
Commit;  
--Select *  From tmhb070101;
End;
我执行了这段程序之后,为什么tmhb070101这张表里的hh这个字段仍然没有更新过来。
回复

使用道具 举报

0

主题

100

帖子

59

积分

新手上路

Rank: 1

积分
59
发表于 2020-7-7 18:00:01 | 显示全部楼层
语句没错的话那就是IF语句中一直返回假没执行下面的语句咯.
回复

使用道具 举报

1

主题

7

帖子

8

积分

新手上路

Rank: 1

积分
8
发表于 2020-7-18 22:00:01 | 显示全部楼层
你把Select Count(*) From dlyx.y_khda@yjdlyx k Where
substr(k.yhh,1,length(k.yhh)-3)=m.yhh And k.dw Like '0303%'执行一下,你好象是访问另外一个数据库里的表,m是什么??
回复

使用道具 举报

1

主题

3

帖子

4

积分

新手上路

Rank: 1

积分
4
 楼主| 发表于 2020-7-21 16:15:01 | 显示全部楼层
怎么没一个好心人说一下啊
回复

使用道具 举报

0

主题

6

帖子

4

积分

新手上路

Rank: 1

积分
4
发表于 2020-7-22 13:15:03 | 显示全部楼层
楼主检查一下 s = 1 有没成立的机会。
一步步检查才能找到原因。

@yjdlyx 这是dblink吗?访问的是远程数据库啊?
回复

使用道具 举报

1

主题

3

帖子

4

积分

新手上路

Rank: 1

积分
4
 楼主| 发表于 2020-7-25 14:45:01 | 显示全部楼层
楼主检查一下 s = 1 有没成立的机会。
一步步检查才能找到原因。
--查过了,有成立的机会,
@yjdlyx 这是dblink吗?访问的是远程数据库啊?
--是的
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|CopyRight © 2008-2020|verysource.com ( 京ICP备17048824号-1 )

快速回复 返回顶部 返回列表