oracle数据库入门教程

oracle数据库入门教程,第1张

oracle是块结构语言,oracle程序划分成几个部分,并在每个部分中写入逻辑代码块,每个块由三个子部分组成。

声明部分:此部分是以关键字DECLARE开头。这是一个可选部分,并定义了程序中要使用的所有变量,游标,子程序和其他元素。

可执行命令部分:此部分包含在关键字BEGIN和END之间,这是一个强制性部分。由程序的可执行oracle语句组成。应该有至少一个可执行代码行,可以只是一个NULL命令,表示不执行任何 *** 作。

异常处理部分 :此部分以关键字EXCEPTION开头。这是一个可选部分,包含处理程序中错误的异常。

每个oracle语句以分号(;)结尾。使用BEGIN和END可以将oracle块嵌套在其他oracle块中。以下是Poracle块的基本结构。

Hello World示例:

END;行表示oracle块的结尾。要从oracle命令行运行代码,需要在代码的最后一行之后键入/字符。当上述代码在oracle提示符下执行时,它会产生以下结果:

oracle标识符:oracle标识符是常量,变量,异常,过程,游标和保留字。标识符包括一个字母,可选地后跟多个字母,数字,美元符号,下划线和数字符号,不得超过30个字符。

默认情况下,标识符不区分大小写。例如,可以使用integer或INTEGER来表示一个数值。 不能使用保留关键字作为标识符。

扩展资料

oracle注释程序:注释可以在编写的oracle代码中包含的说明性文字,并帮助其他人阅读源代码。所有编程语言都允许某种形式的注释。

oracle支持单行和多行注释。注释中的所有字符都被oracle编译器忽略。oracle单行注释以分隔符开头 --(双连字符),多行注释由/和/括起来。

当上述代码在oracle提示符下执行时,会产生以下结果:

oracle变量的名称由可选的字母,数字,美元($)符号,下划线和数字符号组成,不能超过30个字符。 默认情况下,变量名不区分大小写。不能将保留的oracle关键字用作变量名称。

oracle编程语言允许定义各种类型的变量,如:日期时间数据类型,记录,集合等,我们将在后面的章节中介绍。 在本章中仅学习基本的变量类型。

什么是PL/SQL               结构化查询语言(Structured Query Language 简称SQL)是用来访问关系型数据库一种通用语言 它属于第四代语言( GL) 其执行特点是非过程化 即不用指明执行的具体方法和途径 而是简单的调用相应语句来直接取得结果即可         例 delete from students where major= Nutrition ;              然而 对于有些复杂的业务流程又要求相应的程序来描述 那么 GL就有些无能为力了              PL/SQL通过增加了用在其它过程性语言中的结构来对SQL进行了扩展 使得它不仅仅是一个数据库查询语言 而且也是一个编程语言

PL/SQL代表面向过程化的语言与SQL语言的结合 在编写PL/SQL代码时可以在SQL语句中使用 ( )变量和类型( )控制语句( )过程和函数( )对象类型和方法PL/SQL语言实现了将过程结构与Oracle SQL的无缝集成例 修改一个学生的专业 如果没有该学生 就插入一个新的记录 gl_ gl sqlDECLARE     v_newmajor VARCHAR ( ):= History ;     v_firstname VARCHAR ( ):= Scott ;     v_lastname VARCHAR ( ):= Urman ;

BEGIN     update students          set major=v_newmajor          where first_name=v_last_name and       last_name=v_last_name;

lishixinzhi/Article/program/Oracle/201311/16583

Oracle Database,又名Oracle RDBMS,或简称Oracle。是甲骨文公司的一款关系数据库管理系统。它是在数据库领域一直处于领先地位的产品。可以说Oracle数据库系统是目前世界上流行的关系数据库管理系统,系统可移植性好、使用方便、功能强,适用于各类大、中、小、微机环境。它是一种高效率、可靠性好的 适应高吞吐量的数据库解决方案。

ORACLE数据库系统是美国ORACLE公司(甲骨文)提供的以分布式数据库为核心的一组软件产品,是目前最流行的客户/服务器(CLIENT/SERVER)或B/S体系结构的数据库之一。ORACLE数据库是目前世界上使用最为广泛的数据库管理系统,作为一个通用的数据库系统,它具有完整的数据管理功能;作为一个关系数据库,它是一个完备关系的产品;作为分布式数据库它实现了分布式处理功能。

特点

1、完整的数据管理功能:[2]

1)数据的大量性

2)数据的保存的持久性

3)数据的共享性

4)数据的可靠性

2、完备关系的产品:

1)信息准则---关系型DBMS的所有信息都应在逻辑上用一种方法,即表中的值显式地表示;

2)保证访问的准则

3)视图更新准则---只要形成视图的表中的数据变化了,相应的视图中的数据同时变化

4)数据物理性和逻辑性独立准则

3、分布式处理功能:

ORACLE数据库自第5版起就提供了分布式处理能力,到第7版就有比较完善的分布式数据库功能了,一个ORACLE分布式数据库由oraclerdbms、sqlNet、SQLCONNECT和其他非ORACLE的关系型产品构成。

4、用ORACLE能轻松的实现数据仓库的 *** 作。

这是一个技术发展的趋势,不在这里讨论。

优点

■ 可用性强

■ 可扩展性强

■ 数据安全性强

■ 稳定性强

获取系统记录行数  go_block( T_WARITEMPRT );  last_record;  row_count:=:system trigger_record;  system cursor_record execute_trigger( POST CHANGE ); 设置鼠标状态set_application_property(cursor_style BUSY ); raise form_trigger_failure; 显示错误信息  exception when others then    display_note(sqlerrm||sqlcode :global logon_user); decodedecode(a freigode 企业自付 供应商付费 企业代付 供应商代付 null)decode(qtyonhand qtyinit invtranqty invtranqty null) 导出路径select   from t_parameter where f_name= LeanERPTempDir ;select f_c_value from t_parameter where f_name = WebServer ; 合同附件select f_c_value  from t_parameter where f_name= purorderaccesspath ;select f_c_value  from t_parameter where f_name= purorderaccessurl ; 设置值列表     SET_ITEM_PROPERTY( top ORIGINALNO LOV_NAME LOV_MSO );LIST_VALUES; 下拉列表 n:=populate_group( rec_lb ); populate_list( BLK_BUT APPTYPE rec_lb ); :bLK_BUT APPTYPE:= ; 调用另一模块DECLARE    pl_id   ParamList;   v_string varchar ( );   v_itemname varchar ( ); BEGIN   pl_id := Get_Parameter_List( calendar );   IF NOT Id_Null(pl_id) THEN     Destroy_Parameter_List(pl_id);   END IF;   pl_id := Create_Parameter_List( calendar );   v_itemname:=:system current_block|| ||:system current_item;  v_string:=name_in(v_itemname);  Add_Parameter(pl_id p_str TEXT_PARAMETER v_string);   Call_Form( input_str no_hide no_replace no_query_only pl_id);  copy(:global str v_itemname); Erase(:global str);END; 批量处理  set_application_property(cursor_style BUSY );  SYNCHRONIZE;  first_record;  loop    null;  exit when :system last_record = TRUE ;  next_record;  end loop;  set_application_property(cursor_style DEFAULT );  bell;  display_note( SRMP :global logon_user);    采购计划关闭完毕! 对话框IF display_stop( INV :GLOBAL logon_user) <> alert_button THEN  RETURN;END IF; 取得货币名称begin  select currencydesc  into v_currencydesc  from t_currency  where currencycode = c splymoneyflag;  exception when others then v_currencydesc := 人民币(元) ;end; 询问对话框 declare  return_value number;begin  set_alert_property( stop_alert alert_message_text 确认送审该合同吗 );  return_value := show_alert( stop_alert );  if return_value != alert_button then     return;  end if;end; 询问对话框

DECLARE  return_value number;  BEGIN  return_value := display_stop( mdm :global logon_user);  IF return_value = ALERT_BUTTON THEN     MIT_FORM;   END IF; END;  

取下周一 select trunc(sysdate d )+ from dual; message_leveloldmsg := :System Message_Level;  IF reldef = FALSE THEN    Go_Block(detail);    Check_Package_Failure;    :System Message_Level := ;    Execute_Query;    :System Message_Level := oldmsg;  ELSE 取当前年度 期段号begin  select year period   into v_year v_period  from t_accperiod   where sysdate >= startdate  and to_char(sysdate yyyy/mm/dd )<=to_char(enddate yyyy/mm/dd ); exception when others then null;  end; 设置画布属性vCan :=FIND_VIEW( CAN_PRTNO );SET_VIEW_PROPERTY(vCan VISIBLE property_true);vCan :=FIND_VIEW( CAN_PRTNO );SET_VIEW_PROPERTY(vCan VISIBLE property_false); 设备提示信息elsif :top opsrc = X or :top opsrc= T then   set_item_property( top tranobj prompt_text 客户代码 );else   set_item_property( top tranobj prompt_text 部门代码 );end if; 设置值列表KEY LISTVALELSIF :top OPSRC= I THEN  零星出库  SET_ITEM_PROPERTY( top ORIGINALNO LOV_NAME LOV_MSI );LIST_VALUES;  IF :top ORIGINALNO IS NOT NULL THEN     PRTNO_MSI;  END IF;END IF; 调用值列表show_lovDECLARE   a_value_chosen BOOLEAN; BEGIN   a_value_chosen := Show_Lov( lov_name );   IF  a_value_chosen THEN     set_block_property( t_efficiency default_where username = :control display_name );    go_block( t_efficiency );    execute_query;      set_block_property( t_efficiency default_where username in (select username from t_hrmuser where department = :global user_dept) );  END IF; END; 生成序号declare  vlpadnum number;  maxno varchar ( );  cursor cerpcode is select sequence lpadnum from t_erpcode   where erpcode= PURAPPNO and prifix=to_char(sysdate yy )||to_char(sysdate mm ) for update nowait;begin  if :t_purapp appno is null then    if :SYSTEM MODE = NORMAL THEN     begin      begin     for c in cerpcode loop             update t_erpcode set sequence=sequence+ where erpcode= PURAPPNO and prifix=to_char(sysdate yy )||to_char(sysdate mm );     end loop;    exception     when others then     display_note( SYS :global logon_user);     raise form_trigger_failure;    end;      select sequence lpadnum into maxno vlpadnum from t_erpcode where erpcode= PURAPPNO and prifix=to_char(sysdate yy )||to_char(sysdate mm );     exception      when NO_DATA_FOUND then            select count()+ into maxno from t_purapp where appno like % ||to_char(sysdate yy )||to_char(sysdate mm )|| % ;           select max()       vlpadnum:= ;      insert into t_erpcode(erpcode prifix sequence lpadnum)       values ( PURAPPNO to_char(sysdate yy )||to_char(sysdate mm ) maxno vlpadnum);     end;      :t_purapp appno := Q ||:global logon_user||to_char(sysdate yy )||to_char(sysdate mm )||lpad(maxno vlpadnum );    end if;   end if;end; 遍历树 select t_prtstrudef prtno         t_prtbasdef prtdesc         t_prtbasdef mtltmrk         t_prtstrudef prtpqty         t_prtbasdef prtum         t_prtstrudef tranprtno   from t_prtstrudef t_prtbasdef   where t_prtstrudef prtno = t_prtbasdef prtnoconnect by prior t_prtstrudef prtno=t_prtstrudef prntno   start with t_prtstrudef prntno=:BLOCK_BUTTON PRTNO;   / 

Built in:  FORMS_DDL Example:   The expression can be a string literal /  BEGIN   Forms_DDL( create table temp(n NUMBER) );   IF NOT Form_Success THEN     Message ( Table Creation Failed );   ELSE     Message ( Table Created );   END IF; END; 物料所属大类判断and (exists (select a from t_prtinclass c where c classid= ||:blk_query classid|| and c prtno=v_totqry prtno ) or :blk_query classid is null) 给值列表赋初值declare  cursor v_cur is select machtype A machtype B from t_gkdept order by machtype;  N_INDEX NUMBER := ;begin  DELETE_LIST_ELEMENT( T_TPMSCKMTN MACHTYPE );  for c in v_cur loop    Add_List_Element( T_TPMSCKMTN MACHTYPE N_INDEX C A C B);    N_INDEX := N_INDEX + ;  end loop; end; 查询重复数据select rpno from t_purtrace group by rpno having count(rpno) > ; 生成单据号PROCEDURE GET_PRTNO is   v_sysdate      varchar ( );   v_Svdictateno  varchar ( );   v_DbodNo       varchar ( );         n_count        integer;   v_count        varchar ( );   n_count        integer;   n_count        integer;   v_count        varchar ( );   n_num          number;   v_num          varchar ( );BEGIN

lishixinzhi/Article/program/Oracle/201311/18393

以上就是关于oracle数据库入门教程全部的内容,包括:oracle数据库入门教程、Oracle数据库PL/SQL介绍、数据库oracle简介等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9677840.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-30
下一篇 2023-04-30

发表评论

登录后才能评论

评论列表(0条)

保存