SQLServer 视图问题
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SQLServer 视图问题相关的知识,希望对你有一定的参考价值。
怎么删除视图中一个现有字段的自增属性
那个带自增的字段必须得要,现在有什么办法直接去掉那个自增的属性
只要给他加一个0 就行了! id可以为null,表示已不是自动增长列了, sql 2008下面测试通过------
示例如下:
----表
-----视图
--建立一个测试表
IF EXISTS (SELECT * FROM sysobjects AS o WHERE o.name='test')
DROP TABLE test
CREATE TABLE test
(
id int PRIMARY KEY IDENTITY(1,1),
NAME varchar(10)
)
go
--插入测试数据
DECLARE @i INT=1
WHILE @i<10
BEGIN
INSERT INTO test
VALUES('User'+CAST(@i AS CHAr))
SET @i+=1
END
go
SELECT * FROM test
IF EXISTS(SELECT NAME FROM sys.views AS v WHERE v.name='view_test')
DROP VIEW view_test
-----建立视图---
--注意这下面的语句要单独执行---------------
---begin---
CREATE VIEW view_test
AS
SELECT id=id+0,name FROM test
----end-------
SELECT * FROM view_test
参考技术A 视图是虚表、并不实际存储数据、
删除视图的现有字段自增、透过视图修改基本表 参考技术B 视图里怎么会有自增属性的?追问
视图里的一个字段有自增…我也不知道咋整的
追答那也是对应的物理表的。。你想去掉就改下视图的定义即可
追问具体怎么操作呢,我挺迷茫的……
追答就是你的创建视图的语句,哪个字段不要,就去掉哪个,再执行一次不就好了?
追问得有那个字段,但是不想要那个字段的自增属性,有办法操作没,还是得删除对应表字段的自增
参考技术C 这个要在数据库表中设置吧。追问怎么操作,我现在用的一个存储过程必须要用那个字段,但是那个字段还不能有自增属性,要不然自增列会冲突,怎么去掉自增
参考技术D 问题提交的不是很具体啊。建议给个举例是个什么情况。以上是关于SQLServer 视图问题的主要内容,如果未能解决你的问题,请参考以下文章