视图
额。。不要笑话我。
我现在才知道视图是可以进行UPDATE的,那当然连DELETE也可以了。汗一个。
这里呢,强调两个后缀。
with check option
with Read only
Create
view
Materials_view
as
select
*
from
Materials
where
MaterialCode
like
'
9%
'
with
check
option
Go
噢。。仿佛上面是SQL Server的。。Oracle一样啦.
更新的时候会这样提示的。 Read only 也差不多就不罗列了,貌似SQL SERVER没有啊。以后发现了在补上。
Update
Materials_view
set
MaterialCode
=
'
100000002823
'
where
MaterialID
=
'
900000002823
'
--
Waring
消息
550
,级别
16
,状态
1
,第
2
行
试图进行的插入或更新已失败,原因是目标视图或者目标视图所跨越的某一视图指定了
WITH
CHECK
OPTION
,而该操作的一个或多个结果行又不符合
CHECK
OPTION
约束。
语句已终止。
序列
觉得SQL Server 和Oracle 的关于序列的问题,都各有所长吧。
优缺点都是个人观点。
共同点:可以定义起始位置和步长。
Oracle 优点:可以定义是否循环,那么就可以定义最大值,最小值。 一个表里可以有多个序列字段。
SQL Server 优点:简单,不用显示的Create创建,可以在表里直接增加 Identity( 起始值 , 步长值 )即可。
//
SQL Server
Create
table
#temtable
(
RowID
int
identity
(
1
,
2
)
)
//
Oracle
Create
sequence mysequence increment
by
2
start
with
1
--
Notice
Oracle序列需要用 NextVal来初始化。。
同义词
比较明显的同义词是来自Oracle,大家经常用到dual,实际上是 sys.dual,同义词的概念就是将一个名字用成 用户名.表名称这样的。
当然了,可能还有(架构或者模式)这样的概念,应该也可以。
Create
synonym MaterialCom
for
scott.Materialcomlinks

