标签: system-views

如何确定视图的列是派生还是常量?

假设我有下表:

create table t_Item (
    ItemID int not null identity(1,1) constraint PK_Item primary key,
    Description varchar(256) not null,
    Price decimal(10,2) not null
)
Run Code Online (Sandbox Code Playgroud)

以及以下观点:

create view Item as
  select ItemID
        ,Description
        ,Price
        ,1.09 Tax
        ,Price * 1.09 TaxedPrice
    from t_Item
Run Code Online (Sandbox Code Playgroud)

TaxedPrice是派生列,Tax是一个常量列.

因此,我无法插入或更新它们中的任何一个.第一个跟随查询将通过,而其他查询将失败并出现错误.

insert into Item (Description, Price) values ('Test item', 14.00)

insert into Item (Description, Price, TaxedPrice) values ('Test item', 14.00, 15.26)

insert into Item (Description, Price, Tax) values ('Test item', 14.00, 1.09)
Run Code Online (Sandbox Code Playgroud)

这是返回的错误消息:

更新或插入视图或功能"项目"失败,因为它包含派生或常量字段.

有没有办法,可能有系统视图,列出不能更新的视图列?

sql-server view system-views

9
推荐指数
1
解决办法
2万
查看次数

SQL Server中是否有仅列出主键的视图?

我正在使用SQL Server并尝试做一些"反思",如果你愿意的话.我找到了系统视图sys.identity_columns,其中包含了我所有表的所有标识列.

但是,我需要能够选择有关非标识列的主键的信息.是否有包含所有主键和主键的数据的视图?如果没有,我怎么能得到这些数据?

sql-server primary-key system-views

3
推荐指数
1
解决办法
871
查看次数

INFORMATION_SCHEMA.VIEWS 中的 View_Definition 限制为 4000 个字符

我通过运行此查询来备份所有视图,并将结果存储在表中:

select 
   TABLE_CATALOG as DBName
 , TABLE_NAME as ViewName
 , VIEW_DEFINITION as ViewDef
 , datalength(VIEW_DEFINITION) as [Length]
 , GETDATE() as ImportDate 
from INFORMATION_SCHEMA.VIEWS
order by DBName, ViewName
Run Code Online (Sandbox Code Playgroud)

但 VIEW_DEFINITION 列的数据类型设置为 nvarchar(4000) 并且我的一些视图比这长得多 - 因此它们被截断。

INFORMATION_SCHEMA.VIEWS 中的列

我可以以某种方式将 VIEW_DEFINITION 列的数据类型更改为 varchar(max) 吗?

t-sql nvarchar information-schema system-views

3
推荐指数
1
解决办法
4021
查看次数

MySQL 中的系统视图

我正在使用系统目录视图(例如 SYS.ALL_ OBJECTS、SYS.FOREIGN_KEYS 等)来获取有关我在 MS SQL 2005 中的数据库结构的信息。

MySQL (v. 5) 服务器是否有等效的功能/视图?

mysql sql-server system-views

2
推荐指数
1
解决办法
2275
查看次数

Postgres 中的 pg_class 是什么以及如何使用 pgAdmin 4 查看它?

我是 Postgresql 新手,我刚刚看到我的朋友在调用“pq_class”的 cakePhp 控制器上进行查询。我尝试使用 pgAgmin4 查找我的 PostgreSQL 数据库并找出里面的内容。

不幸的是,我看不到任何带有“pg_class”的表名。我尝试用谷歌搜索并找到这些页面:

https://www.postgresql.org/docs/current/catalog-pg-class.html

postgreSQL - pg_class 问题

但我还是很困惑pg_class。关于 pg_class 是否有任何好的或真实的解释以及如何使用 pgAdmin4 查看它而不使用任何查询(只需右键单击 - >查看数据)

postgresql system-views pgadmin

2
推荐指数
1
解决办法
8454
查看次数

如何在系统定义的视图中进行更改?

我可以在系统定义中进行更改,views例如我想添加一个column将提供已foreign_key应用的列名称吗?

喜欢,改变sys.foreign_key_columns.

请提供脚本或来源.

t-sql sql-server system-views

0
推荐指数
1
解决办法
83
查看次数