当前位置:首页 » 存储配置 » oracle存储过程修改怎么保存

oracle存储过程修改怎么保存

发布时间: 2022-08-01 03:55:54

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

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

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

2. PLSQL怎么修改oracle服务器上的存储过程

create or replace procere ...
执行一次就可以保存到服务器了
在plsql用 / 执行

3. 如何把oracle存储过程保存到数据库

oracle
存储过程的基本语法
1.基本结构
CREATE
OR
REPLACE
PROCEDURE
存储过程名字
(
参数1
IN
NUMBER,
参数2
IN
NUMBER
)
IS
变量1
INTEGER
:=0;
变量2
DATE;
BEGIN
END
存储过程名字
2.SELECT
INTO
STATEMENT
将select查询的结果存入到变量中,可以同时将多个列存储多个变量中,必须有一条
记录,否则抛出异常(如果没有记录抛出NO_DATA_FOUND)
例子:
BEGIN
SELECT
col1,col2
into
变量1,变量2
FROM
typestruct
where
xxx;
EXCEPTION
WHEN
NO_DATA_FOUND
THEN
xxxx;
END;
...
3.IF
判断
IF
V_TEST=1
THEN
BEGIN
do
something
END;
END
IF;
4.while
循环
WHILE
V_TEST=1
LOOP
BEGIN
XXXX
END;
END
LOOP;
5.变量赋值
V_TEST
:=
123;
6.用for
in
使用cursor
...
IS
CURSOR
cur
IS
SELECT
*
FROM
xxx;
BEGIN
FOR
cur_result
in
cur
LOOP
BEGIN
V_SUM
:=cur_result.列名1+cur_result.列名2
END;
END
LOOP;
END;
7.带参数的cursor
CURSOR
C_USER(C_ID
NUMBER)
IS
SELECT
NAME
FROM
USER
WHERE
TYPEID=C_ID;
OPEN
C_USER(变量值);
LOOP
FETCH
C_USER
INTO
V_NAME;
EXIT
FETCH
C_USER%NOTFOUND;
do
something
END
LOOP;
CLOSE
C_USER;
8.用pl/sql
developer
debug
连接数据库后建立一个Test
WINDOW
在窗口输入调用SP的代码,F9开始debug,CTRL+N单步调试

4. 谁能介绍如何修改一个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存储过程的步骤。最后在存储过程的使用中可能是程序直接调用,也可能被触发器调用。

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

5. 在oracle sqlplus 中怎么编辑,保存和运行 pl-sql的存储过程,函数什么的

编辑不太好编辑,毕竟那个页面一点也不灵活
建议在文本上打好你要运行的东西,然后粘贴到sqlplus上
如果你粘贴不了,建议你用cmd模式进入sqlplus
至于保存
你create后自动就保存到数据库中了,不知道你说的保存是什么意思
执行的话,这个得看你写的存储过程和函数是什么样的了,不同的存储过程和函数执行的方式也有区别呀

6. oracle修改字段类型 存储过程怎么写

我没弄明白你的意思,每次都要改吗?还是改一次就完事?
但是,判断这个表存在再执行sql就比较简单,你用user_tables视图,或者segment视图就可以了,如果还要判断字段,那么用user_tab_columns视图也行啊,有这个表,这个字段,类型是varchar这些都可以查,查的有就可读取出表名,字段名等内容,然后就可以改了吧。
至于修改,就是正常修改啊,还能怎么改,如果不直接alert那么个人觉得最好的办法就是加一个字段,然后将这个字段复制过去,再删除原来的字段,再把名字改回来。你可以试试。

7. 怎么修改oracle数据库存储过程

怎么修改oracle数据库存储过程
看你是不是用客户端 工具了,你要是用了工具,在你的存储过程,鼠标右键,点 修改,再保存就行了。 你要好好利用工具啊。

8. 如何把oracle存储过程保存到数据库里

sqlplus 中直接敲入存储过程代码(create or replace procere ...), / 结束,
如果代码没有错误,该过程就被保存到数据库中。
可以用 exec 过程名 运行。

如果是plsql developer之类的工具,那更简单,编辑完存储过程后,有运行按钮,点击即可。

9. oracle存储过程回到游标结果集怎样存到表中

有俩种方法:
一种是声明系统游标,一种是声明自定义游标,然后后面操作一样,参数类型为
in out 或out
(1)声明个人系统游标.(推荐)
create or replace p_temp_procere
(
cur_arg out sys_refcursor; --方法1
)
begin
open cur_arg for select * from tablename;
end
调用
declare
cur_calling sys_refcursor;
begin
p_temp_procere(cur_calling); --这样这个游标就有值了
for rec_next in cur_calling loop
....
end loop;
end;

(2)在包头中申明一个游表类型,然后调用者申明一个这个类型的游标变量,传给返回游标的存储过程 ,存储过程out这个结果集,这种方法很麻烦.游标类型不能像索引表一样使用create or replace type方法来创建,所以只能在包中申明,并且需要使用/来执行,后面的存储过程才认这个游标类型.(不推荐,但是建议要知道并且要会这种方式,毕竟它有它存在的道理)
--定义全局变量
create or replace package pkg_package
as
type type_cursor is ref cursor;
type type_record is record
(
test01 varchar2(32),
test02 varchar2(32),
test03 varchar2(32)
);
end;
/
--创建返回游标的存储过程
create or replace procere p_temp_procere
(
cur_out_arg out pkg_package.type_cursor
)
is
begin
open cur_out_arg for select * from test;
end;
/
--调用
declare
cur_out_arg pkg_package.type_cursor;
rec_arg pkg_package.type_record;
begin
p_temp_procere(cur_out_arg);
fetch cur_out_arg into rec_arg;
dbms_output.put_line(rec_arg.test01);
dbms_output.put_line(rec_arg.test02);
dbms_output.put_line(rec_arg.test03);
end;

10. PLSQL修改了存储过程如何编译保存

如果是在plsql developer中修改的,可以直接点那个齿轮图标,或者F8即可编译。
如果是在sqlplus中,那就敲入修改后的过程代码(create or replace procere...),最后以/结尾运行即可。

热点内容
诺基亚密码忘了打什么电话 发布:2024-09-17 03:27:09 浏览:555
树深度优先算法 发布:2024-09-17 03:26:58 浏览:472
跳转页源码 发布:2024-09-17 03:13:05 浏览:543
html文件上传表单 发布:2024-09-17 03:08:02 浏览:784
聊天软件编程 发布:2024-09-17 03:00:07 浏览:726
linuxoracle安装路径 发布:2024-09-17 01:57:29 浏览:688
两个安卓手机照片怎么同步 发布:2024-09-17 01:51:53 浏览:207
cf编译后没有黑框跳出来 发布:2024-09-17 01:46:54 浏览:249
安卓怎么禁用应用读取列表 发布:2024-09-17 01:46:45 浏览:524
win10设密码在哪里 发布:2024-09-17 01:33:32 浏览:662