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 视图问题的主要内容,如果未能解决你的问题,请参考以下文章

rails sqlserver 视图

sqlserver如何查看视图

SQLServer 视图问题

SqlServer视图查询效率测试

sqlserver 创建视图失败,原因:ORDER BY 子句在视图、内联函数、派生表、子查询和公用表表达式中无效

sqlserver设计视图修改表时不允许保存更改的问题处理