2

该表是作为一个节点创建的,因此 SQL Server 在其他列之间添加了一个 graph_id_xxxxxx 列。我用以下句子创建了一个视图:

CREATE VIEW FILE_VIEW1 AS
SELECT
      [NAME]
FROM [dbo].[FILE_NAME]

但是当我看到视图中的列时,即使它不是视图中选择语句的一部分,graph_id_xxxx 列仍然存在。

将不胜感激任何帮助。

4

1 回答 1

0

虽然这些列出现在视图的 sys.columns 中(不知道为什么),但它们不可访问,并且在您select *从视图中显示时也不会出现。

CREATE TABLE Person (ID INTEGER PRIMARY KEY, Name VARCHAR(100), Age INT) AS NODE;
CREATE TABLE friends (StartDate date) AS EDGE;
go
create view vPerson as select Name from Person
go
select * from Person 
select * from vPerson

您可以通过将图表查询推送到视图中的子查询表达式中来从视图元数据中消除它们,例如

create or alter view [dbo].[vPerson] as 
with q as (select Name from Person)
select * from q
于 2021-06-19T14:48:40.297 回答