VerySource

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
楼主: wang7498

今天第一次接触ORCALE,咋得就那么不习惯....

[复制链接]

0

主题

39

帖子

23.00

积分

新手上路

Rank: 1

积分
23.00
发表于 2020-5-16 15:45:01 | 显示全部楼层
sqlserver oracle是不一样的
不要往一起混
回复

使用道具 举报

2

主题

21

帖子

18.00

积分

新手上路

Rank: 1

积分
18.00
 楼主| 发表于 2020-5-17 18:45:01 | 显示全部楼层
哎...撑不住了....咋就那么复杂啊...哎.
再来一次.

CREATE OR REPLACE PROCEDURE MYTEST
(CODE VARCHAR2)
AS
BEGIN
  DBMS_OUTPUT.PUT_LINE(CODE);
END;
我先执行这个,直接用PL/SQL的测试可以通过,输出也正确.
然后我要通过语句执行这个.
EXECUTE MYTEST('AA')
然后提示同样的错误.你写的那个我不是明白 ET_STATISTICS."TEST_ll" ( CODE );
呵呵.

我一直用SQL SERVER的..呵呵.忽然好不习惯.
回复

使用道具 举报

0

主题

39

帖子

23.00

积分

新手上路

Rank: 1

积分
23.00
发表于 2020-5-18 01:45:01 | 显示全部楼层
然后提示同样的错误.你写的那个我不是明白 ET_STATISTICS."TEST_ll" ( CODE );
-------------------------
CREATE OR REPLACE PROCEDURE "TEST"

你原来的存储过程定义用了双引号
所以执行的时候也要用双引号
=================================================================
PL/SQL这个工具我没用过
测试一下这样的
begin
EXECUTE MYTEST('AA');
end;


回复

使用道具 举报

2

主题

21

帖子

18.00

积分

新手上路

Rank: 1

积分
18.00
 楼主| 发表于 2020-5-18 15:45:01 | 显示全部楼层
COPY你的代码.什么都没改.
CREATE OR REPLACE PROCEDURE "TEST_ll"
(CODE IN CHAR)
AS
BEGIN
  DBMS_OUTPUT.PUT_LINE(CODE);
END;

/
toad测试
DECLARE
  CODE VARCHAR2(200);

BEGIN
  CODE := 'AA';

  ET_STATISTICS."TEST_ll" ( CODE );
  
  COMMIT;
END;

执行错误.
提示错误:
ORA-06550: 第  7  行,第  3  列
PLS-00201: 必须说明标识符'ET_STATISTICS.TEST_ll'
ORA-06550: 第  7  行,第  3  列
PL/SQL : Statement ignored

辛辛苦苦几十年,一夜回到解放前,

回复

使用道具 举报

0

主题

39

帖子

23.00

积分

新手上路

Rank: 1

积分
23.00
发表于 2020-5-19 12:00:02 | 显示全部楼层
toad测试
DECLARE
  CODE VARCHAR2(200);

BEGIN
  CODE := 'AA';

  ET_STATISTICS."TEST_ll" ( CODE );
  
  COMMIT;
END;

---ET_STATISTICS是我这边的用户,你可以换成你自己的用户
回复

使用道具 举报

0

主题

39

帖子

23.00

积分

新手上路

Rank: 1

积分
23.00
发表于 2020-5-19 12:15:01 | 显示全部楼层
toad测试
DECLARE
  CODE VARCHAR2(200);

BEGIN
  CODE := 'AA';

  ET_STATISTICS."TEST_ll" ( CODE );
  
  COMMIT;
END;

---ET_STATISTICS是我这边的用户,你可以换成你自己的用户
回复

使用道具 举报

0

主题

39

帖子

23.00

积分

新手上路

Rank: 1

积分
23.00
发表于 2020-5-19 14:00:01 | 显示全部楼层
toad测试
DECLARE
  CODE VARCHAR2(200);

BEGIN
  CODE := 'AA';

  "TEST_ll" ( CODE );
  
  COMMIT;
END;
回复

使用道具 举报

2

主题

21

帖子

18.00

积分

新手上路

Rank: 1

积分
18.00
 楼主| 发表于 2020-5-19 17:30:01 | 显示全部楼层
CREATE OR REPLACE PROCEDURE MYTEST
(CODE VARCHAR2)
AS
BEGIN
  DBMS_OUTPUT.PUT_LINE(CODE);
END;

EXECUTE MYTEST('AA');
执行错误,提示 :  ORA-00900 无效SQL语句
我也感觉奇怪.很简单的东西怎么也会错?

语句应该都没问题的..不知道怎么回事.
回复

使用道具 举报

0

主题

39

帖子

23.00

积分

新手上路

Rank: 1

积分
23.00
发表于 2020-5-19 19:45:01 | 显示全部楼层
PL/SQL这个工具我没用过
测试一下这样的
begin
EXECUTE MYTEST('AA');
end;

--这样不行么



回复

使用道具 举报

0

主题

39

帖子

23.00

积分

新手上路

Rank: 1

积分
23.00
发表于 2020-5-20 14:45:01 | 显示全部楼层
CREATE OR REPLACE PROCEDURE TEST_ll_01
(CODE IN CHAR)
AS
BEGIN
  DBMS_OUTPUT.PUT_LINE(CODE);
END;

sqlplus测试

set serveroutput on;
begin
user.test_ll_01('aa');  --user换成你自己的用户
end;

测试通过
结果为aa
回复

使用道具 举报

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

本版积分规则

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

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