当前位置: 首页 > news >正文

网站建设马鞍山美食网站开发背景

网站建设马鞍山,美食网站开发背景,湘潭网站建设 水平磐石网络,做网站设计需要哪些知识PL/SQL概述 PL/SQL(Procedureal Language/SQL,过程化SQL语言)在标准SQL语言下发展起来的。 PL/SQL语言将变量、控制结构、过程和函数等结构化程序设计的要素引入到SQL语言中。 特点是: 具有模块化的结构使用过程化语言控制结构能够进行错…

PL/SQL概述

PL/SQL(Procedureal Language/SQL,过程化SQL语言)在标准SQL语言下发展起来的。

PL/SQL语言将变量、控制结构、过程和函数等结构化程序设计的要素引入到SQL语言中。

特点是:

  • 具有模块化的结构
  • 使用过程化语言控制结构
  • 能够进行错误处理

是一个块结构,划分为:变量定义、逻辑处理、异常处理 三块

PL/SQL语法

声明变量

  1. 由DECLARE关键字开始
  2. BEGIN程序体结束
  3. 强类型语言
  4. 举例代码如下:
Declare v_id integer;v_name varchar(20);
begin
Varriable_name [CONSTANT] databyte 
[NOT NULL] [:=|DEFAULT expression]
  • 如果有了NOT NULL约束条件,则初始化必须赋值
  • 直接赋值
  • 通过SQL SELECT INTO或FETCH INTO给变量赋值

表达式

declare
result number;
begin
result:=10+3*4+40;
dbms_output.put_line('result:'||result);
end;

执行结果为:
result:62
PL/SQL过程已成功完成。
Dbms_output.put_line函数是输出后换行,put是输出不换行

PL/SQL程序块结构

  1. 声明部分(declarative section)
  2. 执行部分(executable section)
  3. 异常处理部分(exception section)
Declare声明部分
Begin 执行部分
Exception异常执行部分
End ;

注释:

  • 单行注释(–),多行注释(/ * * /)

标识符:

  • 由一个字母开始,后面选折性地跟随任意多的字母,数字,货币符号($),下划线(_),#等符号组成.不允许使用空格,斜线(/),短横线(-),&,%. 最大长度为30个字符.

字符集:

  • 大写字母A-Z和小写字母a-b
  • 数字0-9
  • 符号(,),+,-,*,/,<,>,=,!,~,^,;,:,.,’,@,”,#,$,_,|,{,},?,[,]
  • 制表符,空格符,回车符等非显示的间空符号.
  • 其中一些字符用于编程,另外一些用做算术运算符或关系运算符

代码示例:

declare  
v_checkout timestamp(6);
begin     v_checkout:=sysdate;dbms_output.put_line(v_checkout);
end;declare 
v_lifetime interval year(4) to month;
aa date;
beginv_lifetime := interval '0001-3' year to month;select sysdate+v_lifetime into aa from dual;dbms_output.put_line(aa);
end;

PL/SQL运行环境

  • SQL*PLUS
  • TOAD
  • PL/SQL Developer

PL/SQL数据类型

  • Boolean+
  • %type+
  • %rowtype+
  • %record+
  • table

%type

declare 
v_ename emp.ename%type;
v_sal emp.sal%type;
c_tax_rate constant number(3,2) :=0.03;
v_sal_tax v_sal%type;
beginselect ename,sal into v_ename,v_sal   from empwhere empno=&eno;v_sal_tax := v_sal * c_tax_rate;dbms_output.put_line('雇员名字:'||v_ename);dbms_output.put_line('雇员薪水:'||v_sal);dbms_output.put_line('雇员所得税:'||v_sal_tax);
end;

%rowtype

declare v_emp emp%rowtype;
beginselect * into v_emp from emp where empno=&eno;dbms_output.put_line('雇员名字:'||v_emp.ename);dbms_output.put_line('雇员薪水:'||v_emp.sal);dbms_output.put_line('雇员工种'||v_emp.job);
end;

table

--类似于数组
--定义的语法 type table_type is table of data_type index by binary_integer;
declare 
type emp_table_type is table of emp.ename%type index by binary_integer;
emp_table emp_table_type;
beginselect ename into emp_table(-1) from emp where empno=&eno;emp_table(0):='jack';emp_table(1):='lucy';dbms_output.put_line('emp_table(-1)雇员名:'||emp_table(-1));dbms_output.put_line('emp_table(0):'||emp_table(0));dbms_output.put_line('emp_table(1)'||emp_table(1));
end;
--这个是数字类型的数组了。
DECLARETYPE numberarray IS TABLE OF NUMBER INDEX BY BINARY_INTEGER;firstnumber numberarray;secondnumber numberarray;
BEGINfirstnumber(0) :=123456;firstnumber(1) := 888888;secondnumber(0) := 222222;secondnumber(1) := 666666;FOR i IN 0..firstnumber.count -1 LOOPDBMS_OUTPUT.PUT_LINE('i='|| i || ', firstnumber[0]= ' ||firstnumber(i)|| ',secondnumber= ' ||secondnumber(i));END LOOP;
END;

PL/SQL流程控制

条件控制

语法:IF  condition1  THENstatements1ELSIF  condition2  THENstatements2ELSEstatements3END  IF;
declare v_sal number(7,2);
beginselect sal into v_sal from emp where ename='SCOTT';dbms_output.put_line('scott salary:'||v_sal);if v_sal<100 thendbms_output.put_line('scott 工资低于1000');elseif 1000<=v_sal and v_sal<2000 thendbms_output.put_line('scott1在1000到2000之间');elsedbms_output.put_line('scott1工资高于2000');end if;end if;
end;
CASE 结构
CASE WHEN 条件表达式1 THEN语句段1WHEN 条件表达式2 THEN语句段2……ELSE语句段N
END CASE;
declare 
v_sal number(7,2);
beginselect sal into v_sal from emp          where ename='SCOTT';dbms_output.put_line('scott工资:'||v_sal);case when v_sal<1000 thendbms_output.put_line('scott工资低于1000');when 1000<=v_sal and v_sal<2000 thendbms_output.put_line('scott工资在1000到2000之间');elsedbms_output.put_line('scott工资高于2000');end case;
end;
declare 
v_grade char:='a';
begincase v_gradewhen 'a' thendbms_output.put_line('excellent');when 'b' thendbms_output.put_line('very good');when 'c' thendbms_output.put_line('good');elsedbms_output.put_line('no such grade');end case;
end;

循环控制

  1. 简单循环
    须显示结束循环
  2. while 循环
    直到条件不满足时结束循环
  3. for 循环
    循环预先确定的次数
简单循环
[<<循环标签>>]
LOOP  statement
END LOOP [循环标签];
跳出循环:
EXIT  [循环标签]
EXIT  [循环标签]  WHEN  条件表达式
declare 
v_i number:=1;
v_s number:=0;
beginloopexit when v_i>100;v_s:=v_s+v_i;v_i:=v_i+1;end loop;dbms_output.put_line(v_s);
end;
while 循环[<<循环标签>>]WHILE 条件表达式 LOOP语句段END LOOP [循环标签];
declare 
v_i number:=1;
v_s number:=0;
beginwhile v_i<=100 loopv_s:=v_s+v_i;v_i:=v_i+1;end loop;dbms_output.put_line(v_s);
end;
for 循环[<<循环标签>>]FOR 循环变量 IN [REVERSE] 初始表达式..终值表达式 LOOP语句段END LOOP [循环标签];
declare v_s number:=0;beginfor v_i in 1..100 loopv_s:=v_s+v_i;end loop;dbms_output.put_line(v_s);
end;
循环嵌套WHILE 条件1 LOOP语句段11WHILE 条件2 LOOP语句段2END LOOP;语句段12END LOOP;
循环嵌套LOOP语句段11WHILE 条件1 LOOP语句段2END LOOP;语句段12EXIT WHEN 条件2END LOOP;

顺序控制

语法:GOTO 标签
NULL 语句语法:NULL (表示什么也不执行)
declare 
v_i number:=0;
v_s number:=0;
begin<<label_1>>       v_i:=v_i+1;if v_i<=100 thenv_s:=v_s+v_i;goto label_1;end if;dbms_output.put_line(v_s);
end;
declare 
v_empno emp.empno%type;
v_ename emp.ename%type;
v_sal emp.sal%type;
beginv_empno:=&emp_no;select ename,sal into v_ename,v_sal from emp where empno=v_empno;if v_sal<=3000 thenupdate emp set comm=v_sal*01 where empno=v_empno;dbms_output.put_line(v_ename||'补助'||v_sal*0.1);elsenull;end if;
end;
http://www.yayakq.cn/news/975265/

相关文章:

  • asp网站如何发布服装生产erp管理软件
  • 手机网站怎么做才适合优化做网站微信群
  • wordpress多站点不显示cn域名做网站
  • 阿里巴巴网站建设的功能定位百度投流
  • 图片展示网站搭建北京的网站建设公司哪家好
  • 做电商网站php开发的流程吉隆网站建设
  • 吉林建设公司网站工业设计作品
  • 长沙毕业设计代做网站价格wordpress新闻快讯插件
  • 网站下载的app删除了怎么找到网站 建设 申请
  • wordpress安装到网站吗青岛开发区建设局网站
  • 绵阳网站排名监理证查询网
  • 宿州建设银行网站夹江网站建设
  • 怎么在百度上创建网站新乡手机网站建设官网
  • 运营网站要多少费用好的wordpress企业模板
  • 如何注册一个网站域名网站页面怎么优化
  • wordpress页脚怎么修改seo友情链接是什么
  • 用pdf怎么做电子书下载网站人力资源公司劳务派遣
  • 下列关于网站开发中网友上传wordpress域名后缀
  • 娱乐建网站怎么用wordpress做模板
  • 视频网站开发视频网站建设捌金手指下拉一
  • 升阳广州做网站公司学室内设计好不好
  • 天津平台网站建设费用天古装饰公司官网
  • vue做的博客网站scrm服务商
  • 买模板建设网站黄冈网站建设公司
  • 网页设计跟网站建设的区别深圳宝安中心区
  • 网站建设和管理情况郑州企业网站排名优化方法
  • 网站开发交接企业邮箱登陆登录入口官网
  • 单页产品销售网站如何做推广路桥做网站的公司有哪些
  • 网站打不开404如何用ppt形式做网站
  • 西宁做网站的昆山商城网站建设