如何访问扳手中的视图?
How to access a view in spanner?
我看到你可以 create views 扳手(太棒了!)。我的用例用于我们的分析,我们经常需要不断地进行连接,并且拥有一个视图似乎可以让我们的应用程序访问它。
但是在 documentation 中,我发现我们无法通过读取 api 访问它们。那我怎样才能访问它呢?在文档中,它说“视图可以为应用程序提供逻辑数据建模”,这让我觉得必须有一种访问方式。
我可以在文档的哪个位置阅读我的应用程序如何访问它?
您可以像 SQL 查询中的 table 一样访问视图。所以假设你有这个数据模型:
CREATE TABLE Singers (
SingerId STRING(36) NOT NULL,
FirstName STRING(200),
LastName STRING(200),
) PRIMARY KEY (SingerId);
CREATE VIEW SingersView SQL SECURITY INVOKER AS
SELECT SingerId AS SingerId, CONCAT(FirstName, ' ', LastName) AS FullName
FROM Singers
ORDER BY LastName;
您可以执行以下操作:
SELECT * FROM SingersView;
SELECT FullName FROM SingersView;
SELECT s.FirstName, s.LastName, sv.FullName
FROM Singers s
INNER JOIN SingersView sv ON s.SingerId=sv.SingerId;
我看到你可以 create views 扳手(太棒了!)。我的用例用于我们的分析,我们经常需要不断地进行连接,并且拥有一个视图似乎可以让我们的应用程序访问它。
但是在 documentation 中,我发现我们无法通过读取 api 访问它们。那我怎样才能访问它呢?在文档中,它说“视图可以为应用程序提供逻辑数据建模”,这让我觉得必须有一种访问方式。
我可以在文档的哪个位置阅读我的应用程序如何访问它?
您可以像 SQL 查询中的 table 一样访问视图。所以假设你有这个数据模型:
CREATE TABLE Singers (
SingerId STRING(36) NOT NULL,
FirstName STRING(200),
LastName STRING(200),
) PRIMARY KEY (SingerId);
CREATE VIEW SingersView SQL SECURITY INVOKER AS
SELECT SingerId AS SingerId, CONCAT(FirstName, ' ', LastName) AS FullName
FROM Singers
ORDER BY LastName;
您可以执行以下操作:
SELECT * FROM SingersView;
SELECT FullName FROM SingersView;
SELECT s.FirstName, s.LastName, sv.FullName
FROM Singers s
INNER JOIN SingersView sv ON s.SingerId=sv.SingerId;