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

数据网站怎么做的销售案例网站

数据网站怎么做的,销售案例网站,深圳做商城网站建设,手机app设计方案1、类型 在《.Net程序员学用Oracle系列(5)#xff1a;三大数据类型》一文中详细地讲述了 Oracle 的基本数据类型#xff0c;文中还提到#xff0c;除基本数据类型之外#xff0c;Oracle 还在语法上支持一些非固有数值类型。 事实上#xff0c;Oracle 在语法上支持的数据类… 1、类型 在《.Net程序员学用Oracle系列(5)三大数据类型》一文中详细地讲述了 Oracle 的基本数据类型文中还提到除基本数据类型之外Oracle 还在语法上支持一些非固有数值类型。 事实上Oracle 在语法上支持的数据类型远不止于此Oracle 还支持一些复杂而强大的数据类型。如属性类型%TYPE和%ROWTYPE记录类型 RECORD集合类型 VARRAY 和 TABLE 等。本节将会介绍实用的属性类型和灵活的记录类型。 1.1、属性类型 属性类型是一种可以直接引用数据库中列的数据类型来描述变量类型的类型。Oracle 提供了两种属性类型分别是%TYPE和%ROWTYPE下文将逐一说明。 %TYPE该属性允许在声明中引用数据库中的列或先前声明的变量的数据类型而不是硬编码类型名称。在声明常量、变量和参数时都可以使用%TYPE属性作为数据类型说明符。如果引用的类型被更改则声明也将自动更新这点有利于后期代码维护。 示例 DECLAREv_staff_name t_staff.staff_name%TYPE;BEGINSELECT t.staff_name INTO v_staff_name FROM demo.t_staff t WHERE t.staff_id5;DBMS_OUTPUT.PUT_LINE(v_staff_name);END; %ROWTYPE该属性可以表示数据库中表或游标的行的记录类型。使用%ROWTYPE声明的变量可以存储从表中选择或从游标或游标变量获取的整行数据且变量记录中的字段和每行中的相应列具有相同的名称和数据类型。 示例 DECLAREv_staff t_staff%ROWTYPE;BEGINSELECT t.* INTO v_staff FROM demo.t_staff t WHERE t.staff_id5;DBMS_OUTPUT.PUT_LINE(v_staff.staff_name);END; 想要更多的了解属性类型可参考《Database PL/SQL Users Guide and Reference: %TYPE Attribute》和《Database PL/SQL Users Guide and Reference: %ROWTYPE Attribute》。 1.2、记录类型 记录类型是由单行多列标量构成的复合结构。可以看做是一种用户自定义的数据类型提供了将一个或多个标量封装成一个对象进行操作的能力。在使用记录数据类型的变量时需要在声明部分先定义记录的成员变量然后在执行部分引用该记录变量本身或其中的成员。但不可以对记录做整体性的比较运算如判断记录类型的变量是否为 NULL。 示例 DECLARETYPE staff_type IS RECORD(staff_name VARCHAR2(50),gender VARCHAR2(2));v_staff staff_type;BEGINSELECT t.staff_name,DECODE(t.gender,1,男,0,女,两性) INTO v_staff.staff_name,v_staff.gender  FROM demo.t_staff t WHERE t.staff_id5;DBMS_OUTPUT.PUT_LINE(v_staff.staff_name|||||v_staff.gender);END; 记录类型和%ROWTYPE属性在用途上比较相似区别在于前者是自定义结构而后者为表结构前者比较灵活而后者比较方便。 2、变量 一般计算机编程语言中都有变量的概念PL/SQL 也不例外变量用于存储计算结果和表示可变状态本节将着重介绍在 PL/SQL 中变量如何定义及赋值。另外PL/SQL 中也有常量只是极少有人使用有兴趣的读者可以参考《Oracle Database PL/SQL Language Reference: Constant》。 2.1、变量类型 在 PL/SQL 中定义变量的可选类型非常多包括 Oracle 中常见的三大类基本数据类型以及 Oracle 在语法上支持的诸多非固有数据类型。如整形(INT/INTEGER)、布尔类型(BOOLEAN)等 Oracle 本身并不支持却在 PL/SQL 中可用的数据类型。 2.2、变量定义 在 PL/SQL 中定义变量与 C# 中定义变量本质上并无区别不同的是 PL/SQL 中的变量得集中定义变量定义区域得用DECLARE关键字开头且每行只能定义一个变量。如果是 SQL*Plus 环境则必须用VAR[IABLE]开头。 语法 variable_name datatype [[NOT NULL] {: | DEFAULT} expression]; 如果使用了 NOT NULL 则必须给变量赋初始值。另外在命名变量的时候还需要遵守以下命名规则 1、变量名必须以字母开头。 2、变量名长度不能超过 30 个字符。 3、变量名中不能含有空格。 4、同一语句块内变量名不能重复。 5、变量名不能与查询中的列名相同。 2.3、变量赋值 给 PL/SQL 变量赋值的写法与给 C# 字段赋值写法基本一样既可以在定义变量时就赋给它一个初始值也可以在使用之前给它赋值如果不赋值也会有默认值。唯一的区别就是C# 中类型不同默认值也不同而 PL/SQL 中所有类型的默认值都一样都是 NULL。 在 PL/SQL 中还有一点比较怪的就是可能所有编程语言的赋值操作符都是而 PL/SQL 中的赋值操作符却偏偏是:。而且 Oracle 相关的 API 中参数写法也与其它大多数数据库不同。 示例一普通 PL/SQL 环境 DECLAREv1 NUMBER;v2 NUMBER(5,2);v3 NUMBER : 50.20;v4 NUMBER(4) : 1998;v5 VARCHAR2(4) DEFAULT A;v6 DATE NOT NULL : fn_now;BEGINv1 : 100;v2 : 99.99;v5 : A5;v6 : SYSDATE;  DBMS_OUTPUT.PUT_LINE(v1|||||v2|||||v3|||||v4|||||v5|||||v6);END; 示例二SQL*Plus 环境 VARIABLE v1 NUMBERBEGIN:v1 : 12;DBMS_OUTPUT.PUT_LINE(:v1);END;/ 3、结构 和普通编程语言一样PL/SQL 中也有常见的三大控制结构以及顺序控制语句——GOTO。本节将重点讲述被广泛接受的三大控制结构至于不受待见的 GOTO 语句有兴趣的读者可以参考《Oracle Database PL/SQL Users Guide and Reference: Using the GOTO Statement》。 3.1、顺序结构 顺序结构是面向过程编程中最基本、最简单、最常用的程序控制结构。顺序结构用于表示若干个依次执行的处理步骤表现形式就是线性结构一个方向走下去、不拐弯。使用时只要按照解决问题的顺序写出相应的语句就行它的执行顺序是自上而下、依次执行。 3.2、选择结构 PL/SQL 中提供了两种选择结构分别是IF结构和CASE结构。其中IF结构有三种变体CASE结构有两种变体。下文将逐一讲述各个选择语句 IF 结构变体一 语法 IF condition THEN{...statements to execute when condition is TRUE...}END IF; 示例 BEGINIF 10 THENDBMS_OUTPUT.PUT_LINE(executed);  END IF;END; IF 结构变体二 语法 IF condition THEN{...statements to execute when condition is TRUE...}ELSE{...statements to execute when condition is FALSE...}END IF; 示例 BEGINIF 12 THENDBMS_OUTPUT.PUT_LINE(The result is true);ELSEDBMS_OUTPUT.PUT_LINE(The result is false);  END IF;END; IF 结构变体三 语法 IF condition1 THEN{...statements to execute when condition1 is TRUE...}ELSIF condition2 THEN{...statements to execute when condition2 is TRUE...}[ELSE{...statements to execute when both condition1 and condition2 are FALSE...}]END IF; 示例 BEGINIF 12 THENDBMS_OUTPUT.PUT_LINE(12 branch);ELSIF 12 THENDBMS_OUTPUT.PUT_LINE(12 branch);  ELSEDBMS_OUTPUT.PUT_LINE(12 branch);  END IF;END; 注意IF 结构变体三中有个巨坑就是 IF 和 ELSE 之间的分支写法不是 ELSE IF 也不是 ELSEIF 而是 ELSIF。尽管你写成 ELSE IF 编辑器也有智能提示但当你执行的时候就会报ORA-06550的错而且这个错误的描述正常人基本没可能看懂。 CASE 结构变体一 示例 DECLAREv_grade VARCHAR2(1);BEGINv_grade:B;  CASE v_gradeWHEN A THEN DBMS_OUTPUT.PUT_LINE(甲);WHEN B THEN DBMS_OUTPUT.PUT_LINE(乙);WHEN C THEN DBMS_OUTPUT.PUT_LINE(丙);    ELSE DBMS_OUTPUT.PUT_LINE(丁);  END CASE;END; CASE 结构变体二 示例 DECLAREv_score NUMBER(3); BEGINv_score:78;  CASEWHEN v_score80 THEN DBMS_OUTPUT.PUT_LINE(优);WHEN v_score70 THEN DBMS_OUTPUT.PUT_LINE(良);WHEN v_score60 THEN DBMS_OUTPUT.PUT_LINE(中);ELSE DBMS_OUTPUT.PUT_LINE(差);END CASE;END; 与多分支的 IF 语句相比CASE 语句更可读、更高效所以当程序分支较多时应尽可能的使用 CASE 而不是 IF。CASE 语句的 ELSE 子句是可选的。但如果省略 ELSE 字句PL/SQL 将为 CASE 语句添加以下隐式的 ELSE 子句 ELSE RAISE CASE_NOT_FOUND; 换句话说如果你省略了 ELSE 子句且 CASE 语句与 WHEN 子句不匹配PL/SQL 就会引发预定义的异常CASE_NOT_FOUND。 3.3、循环结构 PL/SQL 中提供了三种循环结构分别是LOOP、WHILE LOOP和FOR LOOP。另外 PL/SQL 还提供了EXIT语句用于退出当前循环。下文将逐一讲述各个循环语句 LOOP 循环 语法 LOOP  {...statements...}EXIT [ WHEN boolean_condition ];END LOOP; 示例一 DECLAREv_counter BINARY_INTEGER : 0; BEGIN  LOOPv_counter : v_counter  1;DBMS_OUTPUT.PUT_LINE(v_counter); -- 输出结果1、2、3、4、5、6、7、8、9IF v_counter  9 THENEXIT;    END IF;-- 上面的 IF 语句块还可以由“EXIT WHEN v_counter  9;”代替  END LOOP;END; 示例二嵌套循环 DECLARE  i BINARY_INTEGER : 0;  j BINARY_INTEGER : 0; BEGINLOOP    i : i  1;    j : 0;LOOP      j : j  1;DBMS_OUTPUT.PUT_LINE(i*j(||i||*||j||)||i*j);EXIT WHEN j  3;END LOOP;EXIT WHEN i  4;END LOOP; END; 示例三标记循环 DECLARE  i BINARY_INTEGER : 0;  j BINARY_INTEGER : 0; BEGINouter_loopLOOP    i : i  1;    j : 0;inner_loopLOOP      j : j  1;DBMS_OUTPUT.PUT_LINE(i*j(||i||*||j||)||i*j);EXIT inner_loop WHEN j  3;EXIT outer_loop WHEN i  4;END LOOP inner_loop;END LOOP outer_loop; END; WHILE LOOP 循环 语法 WHILE condition LOOP  {...statements...}END LOOP; 示例 DECLAREv_score NUMBER(3) : 0;BEGINWHILE v_score  60 LOOPv_score : v_score  10;DBMS_OUTPUT.PUT_LINE(v_score); -- 输出结果10、20、30、40、50、60END LOOP;DBMS_OUTPUT.PUT_LINE(over);END; FOR LOOP 循环 语法 FOR loop_counter IN [REVERSE] lowest_number..highest_number LOOP  {...statements...}END LOOP; 示例一正向循环 BEGINFOR i IN 3..7 LOOPDBMS_OUTPUT.PUT_LINE(i); -- 输出结果3、4、5、6、7END LOOP;END; 示例二反向循环 BEGINFOR i IN REVERSE 3..7 LOOPDBMS_OUTPUT.PUT_LINE(i); -- 输出结果7、6、5、4、3END LOOP;END; 注意FOR LOOP 循环中的计数器变量可以被读取但不能被修改。另外在 LOOP 循环的示例中用到的 EXIT 和循环标记同样可用于 WHILE LOOP 循环和 FOR LOOP 循环中 本文转自帅气的头头博客51CTO博客原文链接http://blog.51cto.com/12902932/1926164如需转载请自行联系原作者 sshpp
http://www.sadfv.cn/news/360523/

相关文章:

  • 搭建网站用什么系统网站底部版权信息
  • 临沂网站优化公司wordpress个人博客模版
  • 福田专业网站建设公司哪家好游戏小程序开发定制
  • 免费搭建企业网站彭州做网站的公司
  • 双语版网站案例免费建立个人网站申请
  • 网站建设数据库代码网站建设有哪些分类
  • 今标 网站建设网站主机选择
  • wordpress 注册 登陆长沙百度快速排名优化
  • 怎么跟客户介绍网站建设中企动力潍坊分公司
  • 怎么修改php网站云主机购买
  • 网站商城建设方案网站后台数据
  • 电子商务网站建设技巧制作游戏的网站
  • 网站建设软件定制开发网站建设引擎
  • 公司网站域名备案流程社交网站盈利吗
  • 企业网站管理制度建设浪花直播
  • 外贸专业网站建设sanitize_user wordpress
  • 做亚马逊网站一般发什么快递公司wordpress轮翻图参数
  • 如何去掉链接wordpress想做个卷帘门百度优化网站
  • 无锡设计网站找哪家时尚网站建设
  • 做广告牌子的电话安徽seo推广公司
  • 怎么做车载mp3下载网站合肥网站优化价格
  • 黄石港区建设局网站页面模板微信
  • 自适应网站怎么做移动配置东吴钢结构网架公司
  • 新网个人网站备案dw网站制作的源代码
  • 邓州建网站wordpress博客分类
  • 福建设计招标网站seo网站提交提交
  • 家具网站建设传奇手游排行榜2021前十名
  • 一站式做网站哪家专业自己做的网站 能收索么
  • 织梦后台 data移除后 网站无法打开wordpress导入html文件
  • 2023网站推广入口编辑模板wordpress