当前位置:首页 » 存储配置 » oracle如何修改存储过程

oracle如何修改存储过程

发布时间: 2023-06-04 04:09:00

A. oracle 如何修改存储过程名称(不要跟我说先drop或者or replace之类的,谢谢)

PACKAGE can’t be renamed.
PACKAGE BODY can’t be renamed.
PROCEDURE can’t be renamed.
FUNCTION can’t be renamed.

B. oracle 中用什么命令执行一个带参数的存储过程

具体如下:

1、第一步,创建一个新的存储过程,见下图,转到下面的步骤。

C. 怎么样利用存储过程实现(oracle )的添加、删除、查询、修改啊

列个表,里边我一样给你写个例子,你看着学学,我尽量给你做出注释
--建一个学生表
create table student (id int,name varchar2(10));
--插入两条测试数据
insert into student values (1,'张三');
insert into student values (2,'李四');
commit;
-------------用存储过程添加id为3,姓名为王五的学生-----------
create or replace PROCEDURE P_INSERT
(v_id int,--定义id变量
v_name varchar2--定义姓名变量)
is
begin
insert into student values (v_id,v_name);--执行插入操作
commit;
end;

执行的时候用下边的
BEGIN
p_insert(3,'王五');
END;

然后select * from student;
你会发现多了3 王五 这条数据
---------------用存储过程删除id为3的学生------------
create or replace PROCEDURE P_DELETE
(v_id int)--定义变量id
is
begin
delete from student where id=v_id;--执行删除操作
commit;
end;

执行
BEGIN
p_delete(3);
END;

执行完上边后执行
select * from student;
你会发现id为3的学生没了

---------------用存储过程查询id为2的学生姓名------------
create or replace PROCEDURE P_SELECT
(v_id int)--定义输入变量id
is
v_name varchar2(10);--定义输出变量name
begin
select name into v_name from student where id=v_id;--执行查询
dbms_output.put_line('学生姓名为:'||v_name);--输出结果
end;

执行
BEGIN
p_select(2);
END;

输出的结果就是id为2的学生姓名
-----------用存储过程查询id为1的学生姓名修改为赵六----------
create or replace PROCEDURE P_UPDATE
(v_id int,--定义要修改的id
v_name varchar2)--定义要修改后的名字
is
begin
update student set name=v_name where id=v_id;--执行修改操作
commit;
end;

执行
BEGIN
P_UPDATE(1,'赵六');
END;

然后你再
select * from student;
你会发现id为1的已经为赵六了

上边这些都是最简单的存储过程,在实际过程中肯定没这么简单

还有,我让你执行的
BEGIN
P_UPDATE(1,'赵六');
END;

这种东西可以当做oracle的job调用,可以定时执行

再有不懂的你再问吧,上边的仅做参考

累死我了,哈哈

D. 谁能介绍如何修改一个Oracle存储过程的实际操作步骤

以下是介绍如何修改一个Oracle存储过程的实际操作步骤,如果你要执行Oracle存储过程,首先你需要写出一个关于输出的字符串“Hello World!”的存储过程,以下的相关内容就是接这讲述Oracle存储的步骤。

让我们写一个输出字符串“Hello World!”的存储过程,用Notepad打开你的skeleton.sql 文件,. 用DBMS_OUTPUT.PUT_LINE 过程调用去替换NULL语句,如下所示:

CREATE OR REPLACE PROCEDURE skeleton
IS
BEGIN
DBMS_OUTPUT.PUT_LINE('Hello World!');
END;

保存到文件skeleton.sql.

从SQL*Plus命令行, 打开文件skeleton.sql .

SQL> @skeleton
SQL>
CREATE OR REPLACE PROCEDURE skeleton
IS
BEGIN
DBMS_OUTPUT.PUT_LINE('Hello World!');
* END;
SQL> /

SQL*Plus 通知你存储过程成功创建并输出提示信息:Procere created.

SQL>

用EXECUTE 命令运行你的存储过程:

SQL> EXECUTE skeleton;
SQL*Plus显示存储过程运行成功:

PL/SQL procere successfully completed.

我们想要的输出字符串 "Hello World!"没有出来,在显示一个DBMS_OUTPUT.PUT_LINE 结果前需要运行一个SET命令,在SQL*Plus 命令行提示符,键入:

SQL> SET SERVEROUTPUT ON
再次执行你的存储过程:

SQL> EXECUTE skeleton;
现在结果输出了:

Hello World!
PL/SQL procere successfully completed.
当调试一个存储过程时,遵循一样的步骤,修改SQL文件,创建存储过程,执行存储过程,根据编译器反馈的出错信息进行修改,这一步是非常繁琐的,需要依靠经验。

在实际的商用存储过程的开发调试过程中,由于涉及很多表、类型、光标、循环、条件等复杂的逻辑,和PL/SQL语句的灵活运用,编译时会产生很多错误提示信息,程序员在根据这些错误信息定位,进行修正,再编译最后得到正确的结构;

放弃一个Oracle存储过程

如果在数据库中你不在需要一个存储过程你可以删除它,SQL语句 DROP PROCEDURE 完成从数据库中删除一个存储过程,DROP PROCEDURE 在SQL中被归类为数据定义语言(DDL) 类操作,其他的例子有CREATE, ALTER, RENAME 和TRUNCATE。.

在SQL*Plus 命令提示符下,使用DROP PROCEDURE SQL 语句删除你的叫做skeleton的存储过程:

SQL> DROP PROCEDURE skeleton;
SQL*Plus assures us the procere has been removed:
Procere dropped.

本文详细讨论了如何使用Oracle工具开发Oracle存储过程的步骤。最后在存储过程的使用中可能是程序直接调用,也可能被触发器调用。

希望我的回答能对您有所帮助!!!

E. oracle :下面的存储过程怎么修改啊

你把execute immediate v_sql;这个改成dbms_output.put_line(V_sql);
然后将 limit 1000改小点,改成limit 10

在sql plus中执行存储过程前先执行命令:
set serveroutput on;
然后再执行这个存储过程
执行完了之后你就可以看到你输出的这个V_Sql语句了,你再看看哪里存在问题好了

热点内容
excel拼接sql 发布:2025-02-06 15:50:10 浏览:500
加密手机直播 发布:2025-02-06 15:49:31 浏览:534
自带ftp服务器好用吗 发布:2025-02-06 15:26:11 浏览:109
win7访问xp局域网 发布:2025-02-06 15:17:07 浏览:524
均线差算法 发布:2025-02-06 15:13:22 浏览:459
androidbrowser 发布:2025-02-06 15:09:49 浏览:622
勇敢的心ftp 发布:2025-02-06 15:09:03 浏览:327
php日志分析 发布:2025-02-06 15:08:19 浏览:874
36脚本大厅作者 发布:2025-02-06 14:55:53 浏览:409
买电脑配送服务器吗 发布:2025-02-06 14:54:58 浏览:243