【问题标题】:Need to create a view from a SQL Server Graph Table that does not include the hidden graph_id column需要从不包含隐藏 graph_id 列的 SQL Server Graph Table 创建视图
【发布时间】:2021-09-03 21:56:24
【问题描述】:
该表是作为一个节点创建的,因此 SQL Server 在其他列之间添加了一个 graph_id_xxxxxx 列。我用以下句子创建了一个视图:
CREATE VIEW FILE_VIEW1 AS
SELECT
[NAME]
FROM [dbo].[FILE_NAME]
但是当我看到视图中的列时,graph_id_xxxx 列仍然存在,即使它不是视图中选择语句的一部分。
不胜感激。
【问题讨论】:
标签:
sql-server
create-view
sql-server-graph
【解决方案1】:
虽然这些列出现在视图的 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