当前位置:首页 » 存储配置 » 存储过程as别名

存储过程as别名

发布时间: 2022-04-24 15:22:41

‘壹’ access中的as是什么意思

ACCESS sql查询中,如果想换一个不同的字段名,或想要一个不是由生成字段的表达式导出的名,又或者由计算表达式得到的原本数据表里不存在的字段(例如经分组和聚合函数等得到的汇总信息等),则可使用SQL保留字“AS”为查出来的字段名另取一个字段字(列别名);

另外“AS”还可以用作为参与查询的基础数据表或中间过渡子查询另取一个表名(表别名)从而起到减少查询中的总字符数、提高代码的逻辑可阅读性和防止代码歧义发生等作用。


这里需要指出的是在ACCESS SQL查询中,为字段起别名必须使用保留字“AS”,而为表起别名时 “AS” 不是必须的,可以省略掉。


下面SQL查询例句有助理解SQL保留字“AS”的作用

例一,“AS” 用作起列别名

selectsid,nameas姓名fromstudents;


例二,“AS” 用作起表别名

selecta.name,b.scorefromstudentsasa,scoresasbwherea.sid=b.sid;

此例也可省略 AS,效果一样

selecta.name,b.scorefromstudentsa,scoresbwherea.sid=b.sid;

‘贰’ sql 里 as 里的意思

as 就是给列 表 结果集 起别名
起的别名有很多用处 在链表查询时不起别名最烦
涉及联表查询的时候你要指定某表的某列一般情况下是: 表.列 表名有时候又一大堆
起了别名后 就可以写成 别名.列 因为有的表名字很长 你可以以这种方法给他缩减一些
就不需要再写那么一大堆没用 又占地形的东西了

在子查询时 你要在一个查询结果上再查东西 此时就必须娶个别名
如:
select * from (select * from ysyobjects )as Newtable

另 :
给列起别名可以达到显示时以别名取代列名的效果

此外还有很多其他作用
如:创建触发器、过程、函数 都可以用到

在创建存储过程、视图时 as的作用是指明存储过程或者视图的语句

‘叁’ oracle 中 as 用法有哪几种

as一般用于存储过程中定义变量前,还有一种用法是给表或者字段起别名。

1、存储过程中:

createorreplaceprocerep_test
as--这里的as表示存储过程中与变量名字的承接
v_begintimevarchar2(20);
v_endtimevarchar2(20);
v_strvarchar2(10);
begin
v_begintime:=to_char(sysdate,'yyyy-mm-ddhh24:mi:ss');
select'badkano'intov_strfromal;
v_endtime:=to_char(sysdate,'yyyy-mm-ddhh24:mi:ss');
dbms_output.put_line('开始时间为:'||v_begintime);
dbms_output.put_line('结束时间为:'||v_endtime);
end;

2、给字段起别名或给表起别名:

selectempnoas员工号fromempast;

其中as 员工号表示对empno起别名叫员工号,as t表示emp表的别名叫t。

‘肆’ oracle 中 as 用法有哪几种

1、存储过程中:

create or replace procere p_test

as --这里的as表示存储过程中与变量名字的承接v_begintimevarchar2(20);v_endtimevarchar2(20);v_strvarchar2(10);beginv_begintime:=to_char(sysdate,'yyyy-mm-dd hh24:mi:ss');select 'badkano' into v_str fromal;v_endtime:=to_char(sysdate,'yyyy-mm-dd hh24:mi:ss')

2、给字段起别名或给表起别名:

select empno as 员工号 from emp as t;

其中as 员工号表示对empno起别名叫员工号,as t表示emp表的别名叫t。

‘伍’ oracle中别名的问题:在临时表中不能用as吗

oracle中临时表有两种
on commit delete row; --默认选项,在commit的时候将数据删除
on commit preserve row; --在commit的时候将数据保留,会话结束后自动删除。

由于第一种是默认值,你的命令里面没加选项默认为commit后删除数据。
而ddl语句(create table 就是一个ddl)发出后,oracle会隐式的提交事务(commit),因此刚刚插入到临时表的数据被自动删除了。 这就是你没查到数据的原因。

改成第二种方式就ok了:
create global temporary table myTable on commit preserve row as select e.empno,e.ename,e.deptno from emp e;

‘陆’ 存储过程的触发器

触发器是一种特殊类型的存储过程,它不同于我们前面介绍过的存储过程。触发器主要是通过事件进行触发而被执行的,而存储过程可以通过存储过程名字而被直接调用。当对某一表进行诸如Update、 Insert、 Delete 这些操作时,SQL Server 就会自动执行触发器所定义的SQL 语句,从而确保对数据的处理必须符合由这些SQL 语句所定义的规则。
触发器的主要作用就是其能够实现由主键和外键所不能保证的复杂的参照完整性和数据的一致性。除此之外,触发器还有其它许多不同的功能:
(1) 强化约束(Enforce restriction)
触发器能够实现比CHECK 语句更为复杂的约束。
(2) 跟踪变化Auditing changes
触发器可以侦测数据库内的操作,从而不允许数据库中未经许可的指定更新和变化。
(3) 级联运行(Cascaded operation)。
触发器可以侦测数据库内的操作,并自动地级联影响整个数据库的各项内容。例如,某个表上的触发器中包含有对另外一个表的数据操作(如删除,更新,插入)而该操作又导致该表上触发器被触发。
(4) 存储过程的调用(Stored procere invocation)。
为了响应数据库更新,触发器可以调用一个或多个存储过程,甚至可以通过外部过程的调用而在DBMS(数据库管理系统)本身之外进行操作。
由此可见,触发器可以解决高级形式的业务规则或复杂行为限制以及实现定制记录等一些方面的问题。例如,触发器能够找出某一表在数据修改前后状态发生的差异,并根据这种差异执行一定的处理。此外一个表的同一类型(Insert、 Update、 Delete)的多个触发器能够对同一种数据操作采取多种不同的处理。
总体而言,触发器性能通常比较低。当运行触发器时,系统处理的大部分时间花费在参照其它表的这一处理上,因为这些表既不在内存中也不在数据库设备上,而删除表和插入表总是位于内存中。可见触发器所参照的其它表的位置决定了操作要花费的时间长短。 SQL Server 2000 支持两种类型的触发器:AFTER 触发器和INSTEAD OF 触发器。其中AFTER触发器即为SQL Server 2000 版本以前所介绍的触发器。该类型触发器要求只有执行某一操作(Insert Update Delete) 之后,触发器才被触发,且只能在表上定义。可以为针对表的同一操作定义多个触发器。对于AFTER触发器,可以定义哪一个触发器被最先触发,哪一个被最后触发,通常使用系统过程sp_settriggerorder 来完成此任务。
INSTEAD OF触发器表示并不执行其所定义的操作(Insert、 Update、 Delete),而仅是执行触发器本身。既可在表上定义INSTEAD OF触发器,也可以在视图上定义INSTEAD OF 触发器,但对同一操作只能定义一个INSTEAD OF 触发器。 Create procere procere_name
[@parameter data_type][output]
[with]{recompile|encryption}
as
sql_statement
解释:
output:表示此参数是可传回的
with {recompile|encryption}
recompile:表示每次执行此存储过程时都重新编译一次
encryption:所创建的存储过程的内容会被加密
如:
表book的内容如下
编号 书名 价格
001 C语言入门 $30
002 PowerBuilder报表开发 $52
实例1:查询表Book的内容的存储过程
create proc query_book
as
select * from book
go
exec query_book
实例2:
加入一笔记录到表book,并查询此表中所有书籍的总金额 Createprocinsert_book@param1char(10),@param2varchar(20),@param3money,@---------加密asinsertintobook(编号,书名,价格)Values(@param1,@param2,@param3)select@param4=sum(价格)frombookgo执行例子:declare@total_pricemoneyexecinsert_book顛','Delphi控件开发指南',$100,@total_priceoutputprint'总金额为'+convert(varchar,@total_price)go存储过程的3种传回值:
1)、以Return传回整数
2)、以output格式传回参数
3)、Recordset
传回值的区别:
output和return都可在批次程式中用变量接收,而recordset则传回到执行批次的客户端中。
实例3:
设有两个表为Proct,Order_,其表内容如下:
Proct
产品编号 产品名称 客户订数
001 钢笔 30
002 毛笔 50
003 铅笔 100
Order_
产品编号 客户名 客户订金
001 南山区 $30
002 罗湖区 $50
003 宝安区 $4
请实现按编号为连接条件,将两个表连接成一个临时表,该表只含编号.产品名.客户名.订金.总金额,
总金额=订金*订数,临时表放在存储过程中
代码如下:
Create proc temp_sale
as
select a.产品编号,a.产品名称,b.客户名,b.客户订金,a.客户订数* b.客户订金 as总金额
into #temptable from Proct a inner join Order_ b on a.产品编号=b.产品编号-----此处要用别名
if @@error=0
print 'Good'
else
print 'Fail'
go

‘柒’ 请教各位:Oracle中,存储过程里as 什么意思 还是取别名吗那么NULL AS PER_ABE 是什么意思

不知道您全部的语句是什么,如果单看这个,那么就是一个固定值的列,这个固定值就是空(NULL),这个列的别名是PER_ABE
例如:SELECT NULL AS NULLCOLUMN FROM DUAL,其实就是选了一个定值,而这个定值是空。AS后边是把这个定值指定一个列名。

‘捌’ 存储过程sql别名怎么写

declare @minid varchar(1000)
set @minid='select id as 别名 from a order by id'
exec(@minid)

‘玖’ SQL语句中as的作用

sql语句中as的意思是别名,或者说给显示的结果改名。比如,select
name
as
姓名
from
student.
意思是查询student表中的name字段,但是在显示的时候显示姓名(而不是表中的name)
还比如下面:concat(path,',',id)函数用","把前后字段【path和id】连接起来形成一个新字段

改名为fullpath
select
id,catename,path,concat(path,',',id)
as
fullpath
from
likecate
where
1
order
by
fullpath
asc.
(9)存储过程as别名扩展阅读:
as
一般用在两个地方,一个是query的时候,用来重新指定返回的column(列)
名字
如:一个table
有个column叫
id,
我们的query是
select
id
from
table1.
但是如果你不想叫id了,就可以重新命名,如叫
systemID
就可以这样写
select
id
as
systemId
from
table1;
还有一个用法就是在create
table

procere
的时候,as
是个关键字。
例如
create
table
test
as
select
*
from
table1
这时候就会create
一个table
test,他是完全
表table1里的全部数据。
create
procre
name
as
(is)
begin
end;
具体可以参考
如何建立procere。
这个时候
as
和is可以互换。
参考资料:搜狗网络-sql语句

‘拾’ 在Oracle里,表的别名不用as,列的别名要用as

列的别名也可以不用as,如:select t.a xxx from table t

在Oracle数据库中,数据表别名是不能加as的,例如:

select a.appname from appinfo a;-- 正确

select a.appname from appinfo as a;-- 错误

注释:这可能是为了防止和Oracle数据库中的存储过程中的关键字as冲突的问题。

热点内容
怎么登陆appleid密码忘了怎么办啊 发布:2024-11-19 00:29:54 浏览:655
极地大乱斗挂机脚本 发布:2024-11-19 00:29:01 浏览:419
iphone怎么新建文件夹 发布:2024-11-19 00:24:37 浏览:912
免费代理服务器ip和端口怎么用 发布:2024-11-19 00:20:10 浏览:878
c语言带参数的宏 发布:2024-11-19 00:07:31 浏览:946
15人团队解压拓展有什么作用 发布:2024-11-18 23:46:34 浏览:307
百米2什么配置 发布:2024-11-18 23:37:55 浏览:650
mp3存储 发布:2024-11-18 23:20:08 浏览:865
自考专升本密码多少位 发布:2024-11-18 23:16:45 浏览:269
数据库底库 发布:2024-11-18 23:15:08 浏览:945