SQL
2005
以后
可以使用
多句表格值函数,
这个支持控制语句,插入更新等块 *** 作,可以弥补视图的不足。很多人都认为可以用函数取缔
视图。
在sqlserver
社区,经常有人吵架,是要存储过程,函数,还是视图?
其次我不支持你在数据库上屏蔽差异,这个多少是奇淫技巧,如果是南天数据库,你不是要玩吐血。
就用最基本的sql92标准实现功能,屏蔽数据库差异是最好的选择。
但是你只是获得一个自增编号,写函数都浪费。
举个例子:
Declare
@tb
table
(PName
nvarchar(30)
,Code_No
nvarchar(30))
insert
into
@tb
values('P01','A')
insert
into
@tb
values('P02','B')
insert
into
@tb
values('P03','C')
insert
into
@tb
values('P04','D')
insert
into
@tb
values('P05','E')
insert
into
@tb
values('P06','F')
SELECT
ROW_NUMBER()
OVER
(ORDER
BY
PName)
as
Rank,Code_No,PName
FROM
@tb
--------------
返回结果:
1
A
P01
2
B
P02
3
C
P03
4
D
P04
5
E
P05
6
F
P06
----
这可行否?
如果是
2000
使用子查询也可轻松实现自增编号啊。
视图只是单个或者多个实体表的一种映射,本身没有实际数据,根本不需要更新,每次访问看到的都是实体表里的最新数据。你的更新如果意味着改视图的映射逻辑,直接把视图删掉重建就完了。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)