Oracle笔记 六、PL/SQL简单语句块、变量定义

news/2024/7/1 2:48:35
1、简单SQL语句,HellWorld示例
--输出信息
begin
  dbms_output.put_line('Oracle Hello World!');
end;
 
2、变量的定义、使用
--定义变量
declare
  sName varchar2(20);
begin
  sName := 'jack';
  dbms_output.put_line(sName);
end;
  
--常用类型
declare
    sNum number(1);
    sCount binary_integer := 0;
    sSal number(7, 2) := 5000.00;
    sDate date := sysdate;
    sPI number(3, 2) := 3.14;
    sValid boolean := true;
    sName varchar2(20) := 'Jackson';
begin
    dbms_output.put_line('sName:' || sName);  
    dbms_output.put_line('sCount:' || sCount);  
    dbms_output.put_line('sSal:' || sSal);
    dbms_output.put_line('sDate:' || sDate);
    dbms_output.put_line('sPI:' || sPI);
    --dbms_output.put_line('sValid:' || sValid);
    dbms_output.put_line('sName:' || sName);
end;
 
--定义Table变量类型
declare 
  type type_table_emp_empno is table of emp.empno%type index by binary_integer;
  empnos type_table_emp_empno;
begin
  empnos(0) := 7369;
  empnos(2) := 6789;
  empnos(-1) := 6543;
  dbms_output.put_line(empnos(-1));
end;
 
--定义record变量类型
declare
  type type_record_dept is record (
       deptno dept.deptno%type,
       dname dept.dname%type,
       loc dept.loc%type
  );
  temp type_record_dept;
begin
  temp.deptno := 56;
  temp.dname := 'software';
  temp.loc := 'gz';
  dbms_output.put_line(temp.deptno || ' ' || temp.dname  || ' ' || temp.loc);
end;
 
--使用rowtype声明record变量
declare
  temp dept%rowtype;
begin
  temp.deptno := 57;
  temp.dname := 'it';
  temp.loc := 'sz';
  dbms_output.put_line(temp.deptno || ' ' || temp.dname  || ' ' || temp.loc);
end;
 
--sql语句完成变量赋值
declare
  v$sal emp.sal%type;
  v$ename emp.ename%type;
begin
  select sal, ename into v$sal, v$ename from emp where rownum = 1;
  dbms_output.put_line(v$sal || ' ' || v$ename);
end;
 
--sql语句完成rowtype变量赋值
declare
  v_row_emp emp%rowtype;
begin
  select * into v_row_emp from emp where empno = 7698;
  dbms_output.put_line(v_row_emp.sal || ' ' || v_row_emp.ename);
end;
 
--sql语句完成变量插入数据
create table dept2 as select * from dept;
declare
   deptno dept.deptno%type := 57;
   dname dept.dname%type := 'software';
   loc dept.loc%type := 'gz';
begin
    insert into dept2 values(deptno, dname, loc);
      commit;
end;
select * from dept2;






本文转自hoojo博客园博客,原文链接:http://www.cnblogs.com/hoojo/archive/2011/05/03/2035335.html,如需转载请自行联系原作者

http://lihuaxi.xjx100.cn/news/240422.html

相关文章

谈论源码_6,000名自由职业者谈论金​​钱,幸福和对未来的希望

谈论源码More than 6,000 US-based freelancers responded to a new in-depth survey. I dug through the data and pulled out the most interesting insights, which paint a picture of optimistic professionals who have taken control of their own destiny.超过6,000名美…

idea打开web项目之后一直闪烁

解决办法: 点击, 选择第一个(清除缓存并重启) 这时Idea会自动重新启动,之后就没有闪烁的状态了。 一开始我选择是第二个,清除无效的缓存,但是并没有起作用。

Wink发布Wink Hub2家庭物联网控制中心

智能家居主要厂商之一Wink宣布推出Wink Hub2家庭物联网控制中心,支持更多的家庭物联网产品,更广泛的互联互通,以及提供更好用的控制程序。Wink Hub2主要作用是连接第三方家庭物联网产品,并从一个集中的应用程序进行控制。 Wink Hu…

矢量数编码有哪几种类型_6种最理想的编码工作(以及吸引每个人的类型)

矢量数编码有哪几种类型by David Venturi大卫文图里(David Venturi) 6种最理想的编码工作(以及吸引每个人的类型) (The 6 most desirable coding jobs (and the types of people drawn to each)) Free Code Camp问了15,000个人,他们是谁,以及他们如何学…

基于tcp和udp的socket实现

2019独角兽企业重金招聘Python工程师标准>>> 本文介绍如何用Java实现Socket编程。首先介绍Java针对Socket编程提供的类,以及它们之间的关系。然后分别针对TCP和UDP两种传输层协议实现Socket编程。 1 Java中的Socket编程接口介绍 Java为Socket编程封装了几…

保护到云端的高速公路

如今,越来越多的业务和个人信息都存储在云计算中,因此,确保快速可靠地访问这些信息变得比以往任何时候都更加重要。电信服务提供商有强大的财政激励,提供一系列服务,可以与那些只能通过有线提供服务的厂商进行竞争。换…

c# 数据可视化_#OpenVisConf上的22位数据可视化从业者的10点收获

c# 数据可视化by Siena Duplan通过锡耶纳杜普兰(Siena Duplan) #OpenVisConf上的22位数据可视化从业者的10点收获 (10 Takeaways from 22 Data Visualization Practitioners at #OpenVisConf) Update | May 13, 2016: Videos of all talks are officially live!更新| 2016年5月…

开源可视化日志分析软件-Gource

Gource可以将代码版本控制系统里面的日志全部可视化,也就是说可以看见每个成员在系统里面提交代码的行为,Gource目前支持git、hg、svn。 静态的图片看着不过瘾,下面我将录频的效果(gourcegltail)给大家分享: http://www.tudou.com…