当前位置:首页 » 存储配置 » 存储过程视图创建

存储过程视图创建

发布时间: 2022-12-21 05:08:30

⑴ 如何创建基于视图的存储过程

如果可以对这个视图进行增删该,那么创建基于视图和基于表的的存储过程是一样的。

数据库中创建视图和索引还有存储过程起什么作用

视图可以被看成是虚拟表或存储查询。可通过视图访问的数据不作为独特的对象存储在数据库内。数据库内存储的是 SELECT 语句。SELECT 语句的结果集构成视图所返回的虚拟表。用户可以用引用表时所使用的方法,在 Transact-sql 语句中通过引用视图名称来使用虚拟表。使用视图可以实现下列任一或所有功能:

将用户限定在表中的特定行上。
例如,只允许雇员看见工作跟踪表内记录其工作的行。

将用户限定在特定列上。
例如,对于那些不负责处理工资单的雇员,只允许他们看见雇员表中的姓名列、办公室列、工作电话列和部门列,而不能看见任何包含工资信息或个人信息的列。

将多个表中的列联接起来,使它们看起来象一个表。

聚合信息而非提供详细信息。
例如,显示一个列的和,或列的最大值和最小值。
------------------
数据库中的索引与书籍中的索引类似。在一本书中,利用索引可以快速查找所需信息,无须阅读整本书。在数据库中,索引使数据库程序无须对整个表进行扫描,就可以在其中找到所需数据。
------------------
存储过程可以使得对数据库的管理、以及显示关于数据库及其用户信息的工作容易得多。存储过程是 SQL 语句和可选控制流语句的预编译集合,以一个名称存储并作为一个单元处理。存储过程存储在数据库内,可由应用程序通过一个调用执行,而且允许用户声明变量、有条件执行以及其它强大的编程功能。

存储过程可包含程序流、逻辑以及对数据库的查询。它们可以接受参数、输出参数、返回单个或多个结果集以及返回值。

可以出于任何使用 SQL 语句的目的来使用存储过程,它具有以下优点:

可以在单个存储过程中执行一系列 SQL 语句。

可以从自己的存储过程内引用其它存储过程,这可以简化一系列复杂语句。

存储过程在创建时即在服务器上进行编译,所以执行起来比单个 SQL 语句快。

⑶ 数据库中创建视图和索引还有存储过程起什么作用

视图就是为了方便查看数据,比如说一个表有几千个字段,但常用的就那么十来个,我就可以把那十来个归集未一个视图,省得查询表要找来找去的麻烦,再比如说学生表和教师表,我要知道哪个学生是由那个教师教的,就要两个表关联起来看,为了方便我可以直接把他们做成一张视图,查询视图就都出来了。索引就相当于给数据打个编号,用来提高效率的,当然要用对才有效果。存储过程就是用来处理数据,事物等的一个逻辑集合,比如一个存储过程接收到一个参数用户出生时间20020601,但在表中要存注册时间,用户年龄,用户生日,就可以在存储过程中将注册时间:当前时间,用户年龄 :当前时间-出生时间,用户生日:截取月份和号数这些数据处理后再存入到表

⑷ 存储过程里 可以定义视图吗

不可以。
存储过程里面不可以有create view、create database、create table 等等。总之基本上带create的都不可以有。

⑸ sql2000 的存储过程 视图 怎么创建 语法有哪些

创建视图
select view [view_name]as
select column_name
from table_name where 条件
创建存储过程
create procere 名称
begin
···
end

⑹ oracle中如何在存储过程里创建视图

首先需要授权

sqlplus / as sysdba

grantcreateviewtoyour_user;

然后创建表和存储过程

droptabletable1;
createtableTABLE1
(
user_idVARCHAR2(10),
user_nameVARCHAR2(10),
user_mailVARCHAR2(10),
user_mobileVARCHAR2(10),
user_telephoneVARCHAR2(10)
);

V_SQLVARCHAR2(10240);
BEGIN
V_SQL:='CREATEORREPLACEVIEWV_TESTAS
SELECTT1.USER_ID,
T1.USER_NAME,--用户姓名
T1.USER_MAIL,--用户MAIL
T1.USER_MOBILE,--用户手机
T1.USER_TELEPHONE--用户电话
FROMTABLE1T1';
EXECUTEIMMEDIATEV_SQL;
ENDCREATEVIEWS;
/

执行,OK

SQL>execcreateviews;
PL/

⑺ sql数据库的视图和 存储过程怎么建

建议你的数据库建立部门表的信息

在你的员工基本信息表里加一个
alter table 员工基本信息表
add column 部门编号 char(10)

建立部门表
create table 部门表
(
部门编号 char(10),
部门名称 char(10)
)
create view ccc
as
select max(d.基本工资-c.扣除工资) as 部门最高工资,min(d.基本工资-c.扣除工资) as 部门最低工资,avg(d.基本工资-c.扣除工资) as 部门平均工资,sum(d.基本工资-c.扣除工资) as部门工资总和
from 部门表 as b,员工基本信息表 as a,员工考勤情况表 as c,员工工情况表 as d
where a.员工号=c.员工号 and a.工种号=d.工种号 and a.部门编号=b.部门编号
group by b.部门名称
具体可以在改改

存储过程

create proc 过程名 @变量
as
begin
过程体
end

⑻ 求帮助,mysql 存储过程中建立视图的问题

mysql 存储过程中建立视图的问题

定义视图,方便快捷查询
create view v_user
as
select * from table_user
定义过程,定义好业务逻辑 一次编译,反复执行,效率高,速度快
create procere p_find_user( sname varchar)
as
begin
select pss from table_user where name =sname;
end ;
定义触发器,方便对插入数据的整理,约束,或建议其他关联关系。
create trigger tri_table
before insert on table_name
for each row
begin
:new.id:=seq_table_name.nextval;
end ;

⑼ mysql 存储过程 根据查询表创建视图 跪求大神

首先要明确你的目的是什么?
我猜是不是你想select出所有表名为test的数据,这样的话方案如下:

如果非要按照你说的视图的话、我不知道mysql能不能动态创建执行创建语句、如果可以的话、你可以执行在存储过程里面动态执行这样的语句、CREATE OR REPLACE testView as 这里写你的select语句用union all连接,至于怎么取到这些类似的表然后怎么拼接成sql你知道怎么操作吧?

第二种方法比较通用、肯定行、存储过程你们做一件事情、select出所有test的表、然后把记录插入到一张临时表中,这个操作会把?但是这种方法数据量大的话有速度影响

⑽ 2008SQL 存储过程中可以创建视图吗

存储过程中可以创建视图,但在创建之前先要判断该视图是否已经存在,如果存在的话需要先删除再创建。

热点内容
java返回this 发布:2025-10-20 08:28:16 浏览:600
制作脚本网站 发布:2025-10-20 08:17:34 浏览:892
python中的init方法 发布:2025-10-20 08:17:33 浏览:585
图案密码什么意思 发布:2025-10-20 08:16:56 浏览:769
怎么清理微信视频缓存 发布:2025-10-20 08:12:37 浏览:689
c语言编译器怎么看执行过程 发布:2025-10-20 08:00:32 浏览:1016
邮箱如何填写发信服务器 发布:2025-10-20 07:45:27 浏览:261
shell脚本入门案例 发布:2025-10-20 07:44:45 浏览:119
怎么上传照片浏览上传 发布:2025-10-20 07:44:03 浏览:809
python股票数据获取 发布:2025-10-20 07:39:44 浏览:718