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

推广小程序拿佣金/济南seo外包公司

推广小程序拿佣金,济南seo外包公司,山东莱芜疫情,第三方b2c电子商务平台数据库中有一worker表,以下对象的创建均是基于此表,内容如下:SQL> select * from worker;职工号码 姓名 性别 出生日期 党员否 参加工作 部门号---------- -------- ---- ----------- ------ ----------- -------…

数据库中有一worker表,以下对象的创建均是基于此表,内容如下:

SQL> select * from worker;

职工号码    姓名     性别     出生日期   党员否     参加工作        部门号

---------- -------- ---- ----------- ------ ----------- ----------

1              孙华     男     1952/3/1      否          1970/10/10         1

2              陈明     男     2045/8/1      否          1965/1/1             2

3              程西     女    1980/4/6       否           2002/10/7          3

一、游标

应用程序,特别是交互式联机应用程序,并不总能将整个结果集作为一个单元来有效处理。这些应用程序需要一种机制,以便每次处理一行或一部分行。游标就是用来提供这种机制的结果集扩展。

使用游标将worker表姓名列加上'_t':

--声明游标

declare

cursor mycur is

select 姓名 from worker for update;

--声明一个v_text变量,用来存放游标结果集v_text worker.姓名%type;

begin

--打开游标open mycur;

--提取第一行数据保存在v_text

fetch mycur into v_text;

while mycur%found

loop

--在姓名后面加上'_t'

update worker set 姓名=姓名||'_t' where current of mycur;

fetch mycur into v_text;

end loop;

关闭游标close mycur;

end;

二、触发器

触发器是一种特殊的存储过程,它在指定的表中的数据发生变化时自动生效,即在INSERT、UPDATE、DELETE语句对表或视图进行修改时会被自动执行。

当对worker表中进行增删改时,将用户、日期和操作类型记录在一个tr_log表中:

CREATE OR REPLACE TRIGGER tr_1

AFTER INSERT OR DELETE OR UPDATE ON worker

begin

IF INSERTING THEN

INSERT INTO mylog VALUES(user,sysdate,’I’);

ELSIF DELETING THEN

INSERT INTO mylog VALUES(user,sysdate,’D’);

ELSE

INSERT INTO mylog VALUES(user,sysdate,’U’);

END IF;

END;

三、视图

视图是从一个或者多个表中使用select语句导出的,在数据库中,存储的是视图的定义,而不是视图查询的数据。通过这个定义,对视图的查询最终转换为对基表的查询。

使用视图查询部门1的员工信息:

create or replace view myview

as

select * from worker where 部门号=1;

四、存储过程

存储过程是sql语句和可选控制语句的预编译集合,它以一个名称存储并作为一个单元来处理。

输入职工号以查询其个人信息:

--in为输入类型,out为输出类型,%rowtype为万能行类型,不可指定参数大小

create or replace procedure pr_1(v_id in number,v_info1 out worker%rowtype)

is

begin

select * into v_info1 from worker where 职工号=v_id;

end;

--过程调用declare

v_info2 worker%rowtype;

begin

--执行,v_info2接收输出结果

pr_1(1,v_info2);

dbms_output.put_line(v_info2.职工号||' '||v_info2.姓名||' '||v_info2.性别||' '||v_info2.出生日期||' '||v_info2.党员否||' '||v_info2.参加工作||' '||v_info2.部门号);

end;

五、自定义函数

函数用于返回特定数据。执行时得找一个变量接收函数的返回值。

输入职工号以查询其姓名:

--声明类型时不用指定大小

create or replace function fun_1(v_name1 number)

--指定返回类型return varchar2

is

declare v_name2 varchar2(8);

begin

select 姓名 into v_name2 from worker where 职工号=v_name1;

return v_name2;

end;

--函数调用

--声明接收变量var v_name varchar2(8)

--执行exec :v_name:=fun_1(1)

六、包

包用于组合逻辑相关的过程和函数,它由包规范和包体两个部分组成。包规范用于定义公用的常量、变量、过程和函数,创建包规范可以使用CREATE PACKAGE命令,创建包体可以使用CREATE PACKAGE BODY

--创建包

create or replace package sp_package

is

begin

--函数声明部份

function fun_1(v_name1 number) return varchar2;--存储过程声明部份

procedure pr_1(v_id in number,v_info1 out worker%rowtype);

end;

--创建包体

create package body sp_package is

begin

--函数执行部份

function fun_1(v_name1 number)

return varchar2

is

v_name2 varchar2(8);

begin

select 姓名 into v_name2 from worker where 职工号=v_name1;

return v_name2;

end;

--存储过程执行部份

procedure pr_1(v_id in number,v_info1 out worker%rowtype)

is

begin

select * into v_info1 from worker where 职工号=v_id;

end;

end;

--调用包中函数

var v_name varchar2(8)

exec :v_name:=sp_package.fun_1(1)

--调用包中存储过程

declare

v_info2 worker%rowtype;

begin

sp_package.pr_1(1,v_info2);

dbms_output.put_line(v_info2.职工号||' '||v_info2.姓名||' '||v_info2.性别||' '||v_info2.出生日期||' '||v_info2.党员否||' '||v_info2.参加工作||' '||v_info2.部门号);

end;

七、序列

在oracle中sequence就是所谓的序列号,每次取的时候它会自动增加,一般用在需要按序列号排序的地方。

在work表中职工号字段编排规则从1开始,递增量为1,代码如下:

create sequence work_sequence

--递增量为1increment by 1

--从1开始start with 1

--不设最大值nomaxvalue

--不循环nocycle

--利用序列进行学号的自动插入

insert into work values(work_sequence.nextval,'李静','女');

八、同义词

Oracle的同义词(synonyms)从字面上理解就是别名的意思,和视图的功能类似,就是一种映射关系。

例如为worker表创建同义词:

create public synonym sy_worker for worker;

可以通过select * from sy_worker 语句进行查询。

public意为公共的,此类同义词所有用户均可访问,不加public则意为私有的,表对象所有者可以直接访问,但其它用户访问时须在表前加上所有者,无论是否加上public,非表对象所有者访问此表,前提是须有select此表的权限。

http://www.jmfq.cn/news/5102875.html

相关文章:

  • 北京市建委网站官网/天津seo诊断
  • 旅游网站开发目的和意义/2023年新冠疫情最新消息
  • 微网站分享功能/外贸营销型网站建设公司
  • 优惠券网站怎么做代理/网站搭建需要什么技术
  • 做shopify网站/网站的收录情况怎么查
  • php jsp动态网站开发/搜索引擎推广的三种方式
  • 怎么使网站降权/夸克搜索入口
  • 用adsl做网站备案/dz论坛如何seo
  • java做网站和asp做网站/杭州网站优化效果
  • 网站中的搜索框图标怎么做的/百度本地惠生活推广
  • 网站上设置多语言怎么做/别人恶意点击我们竞价网站
  • 知名的网站建设公司排名/seo流量是什么
  • 做簧片网站能赚钱吗/百度云群组
  • 网站建设与管理作业/品牌宣传策划方案
  • 安阳 网站建设/河北百度推广电话
  • 简述网站开发基本流程图/网页模板代码
  • 网站开发职位/餐饮店如何引流与推广
  • 强化疫情防控/百家号seo怎么做
  • 如何看网站是谁做的/网页搜索引擎
  • 免费的舆情网站不用下载直接打开/怎么在百度上推广
  • 西宁市网站建设价格/网络营销教学大纲
  • 石家庄站布局图/平台优化是指什么
  • 免费海报制作网站/武汉今日头条最新消息
  • 专业的网站设计建设/厦门搜索引擎优化
  • 有哪些网站可以做全屏代码/seo技巧seo排名优化
  • 自己切片做网站/sem优化技巧
  • 福州专业网站建设服务商/百度账号人工客服电话
  • 网站代码500/重庆seo整站优化效果
  • 重庆网站建设公司电话/国内最新新闻
  • 线上推广媒体广告/搜索引擎优化营销