易截截图软件、单文件、免安装、纯绿色、仅160KB

北大青鸟oracle学习笔记23 24

子程序 命名的pl/sql块
create procedure 过程名 [参数1 in|out|in out…]
    局部变量声明
    执行语句
in
out
in out
    过程名(参数里表); create or replace
procedure add123 as
i integer;
j integer;
begin
i:=1;
j:=2;
dbms_output.put_line(i+j);
end;
execute add123;
注意这里创建过程和执行不能放在一起,否在execute会随过程定义写入过程中,sql develop中测试如此,不知道为什么。
CREATE OR REPLACE
PROCEDURE QUERYSTUNAME
( stuid STUDENT.STU_ID%TYPE)
AS
sname student.stu_name%type;
ssex student.stu_sex%type;
BEGIN
select stu_name,stu_sex into sname,ssex from student where stu_id = stuid;
dbms_output.put_line(sname||ssex);
EXCEPTION
when No_Data_Found then
dbms_output.put_line('no data found');
when Too_Many_Rows then
dbms_output.put_line('to many rows');
when others then
dbms_output.put_line('other error');
END QUERYSTUNAME;

execute querystuname(1); 函数
create function 函数名 [参数列表]
    局部变量声明
    可执行语句
end;
两种访问方式
sql语句
仅接受in参数,返回值类型不能带精度。
CREATE OR REPLACE
FUNCTION GETNAME(stuid varchar)
RETURN VARCHAR AS
stuname student.stu_name%type;
BEGIN
select stu_name into stuname from student where stu_id = stuid;
RETURN stuname;
EXCEPTION
when No_Data_Found then
dbms_output.put_line('no data found');
when Too_Many_Rows then
dbms_output.put_line('to many rows');
when others then
dbms_output.put_line('other error');
END GETNAME;

declare
begin
dbms_output.put_line(getname(1));
end;

过程
函数
作为pl/sql语句执行
作为表达式一部分调用
在规格说明中不包含return子句
必须在规格说明中包含return子句
可以返回任何值
返回单值
可以包含return语句,但是不能用于返回值
必须包含return语句


相关文档:

ORACLE带参全连接

    
  select * from (
  select cw2.NO WHOLENO,sp1.ARGUMENTNAME TYPENAME,sp2.ARGUMENTNAME BRANDNAME,sp3.ARGUMENTNAME STYLENAME,sp4.ARGUMENTNAME DEPART,so.OPERATORNAME USERNAME
  from COM_WHOLE_INFO cw2,SYS_OPERATOR so, SYS_PUBLICARGUMENT sp1, SYS_PUBLICARGUMEN ......

付首昕 ORACLE 10 学习笔记 第3课 命令。

ORACLE 10 学习笔记-第3课-命令。
1.view 限制
create or replace view my_view01
as select * from emp
with check option
/
2.synonym 同义词
create synonym dept for scott.dept;
select * from dept;
3.sysdba 公共
drop synonym dept;
create public synonym dept for scott.dept;
desc dba_synonyms
......

oracle 表结构的修改

oracle 表结构的修改
今天总结下关于表的修改,防止以后忘记,好记性不如烂笔头吗!!!
更改表的结构
1.编辑表的字段
  修改一个列的数据类型(一般限于修改长度,修改为一个不同类型时有诸多限制):
  语法:
    ALTER TABLE 表名 MODIFY(列名 数据类型);
 eg1:
   alter table ......

【转】 Oracle的在线重定义表功能

Oracle的在线重定义表功能
http://blog.itpub.net/post/468/12855
http://blog.itpub.net/post/468/12962
在一个高可用系统中,如果需要改变一个表的定义是一件比较棘手的问题,尤其是对于7×24系统。Oracle提供的基本语法基本可以满足一般性修改,但是对于把普通堆表改为分区表,把索引组织表修改为堆表等操作就无 ......

oracle link

俩台不同的数据库服务器,从一台数据库服务器的一个用户读取另一台数据库服务器下的某个用户的数据,这个时候可以使用dblink。
     其实dblink和数据库中的view差不多,建dblink的时候需要知道待读取数据库的ip地址,ssid以及数据库用户名和密码。
       创建可以 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号