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

Oracle停怎样创建存储过程

2013-03-26 
Oracle下怎样创建存储过程?我用的是PL/SQL,连接的Oracle 10g。我在一个SQL框里输入如下,建立存储过程:creat

Oracle下怎样创建存储过程?
我用的是PL/SQL,连接的Oracle 10g。
我在一个SQL框里输入如下,建立存储过程:


create or replace procedure test_select
as
select * from test_table t where t.subsystem_id = 4


然后执行:

exec test_select


提示无效SQL语句。
在下Oracle菜鸟,以前没写过存储过程,请大家帮忙。
[解决办法]
给你一个简单的实例

create or replace procedure test_select
as
begin
  --select * from test_table t where t.subsystem_id = 4
  dbms_system.output_line('this is my first proc in oracle !');
end

[解决办法]
举个例子如下:
CREATE OR REPLACE PROCEDURE secure_dml
IS
BEGIN
  IF TO_CHAR (SYSDATE, 'HH24:MI') NOT BETWEEN '08:00' AND '18:00'
        OR TO_CHAR (SYSDATE, 'DY') IN ('SAT', 'SUN') THEN
RAISE_APPLICATION_ERROR (-20205,
'You may only make changes during normal office hours');
  END IF;
END secure_dml;


[解决办法]
oracle的存储过程是不支持简单的select ... from...输出结果集的,不同于sql server
[解决办法]
引用:
执行仍然无效,
exec test_select
无效SQL语句

加上分号 ;试试
[解决办法]
怎么可能啊,网上一着,多得是啊,慢慢来存储过程不难的
[解决办法]
/*下面这个例子是我有emp表,经过测试没有问题,希望能帮到你*/
create or replace procedure sp_pro1(spname emp.ename%type,newsal emp.sal%type) is
begin
update emp set sal=newsal where ename=spname;
end;
/
exec sp_pro1('scott',1000);
[解决办法]
用 call  吧
要不用plsql连接工具 可以设这断点调试
我的异常网推荐解决方案:oracle存储过程,http://www.myexception.cn/oracle-develop/177537.html

热点排行