如何在SAS中进行SQL传递,创建视图或表

问题描述 投票:1回答:1

我试图通过SAS,SQL通过以下方式在数据库上创建一个View

PROC sql; 
CONNECT TO odbc AS myuser(dsn=galaxy);              
EXECUTE(
CREATE VIEW DB.SCHEM.table AS
    SELECT * FROM connection to myuser;
    (SELECT * FROM DB.SCHEM.table2)
)by myuser;
QUIT;

但是,我收到以下错误

错误:CLI准备错误:[Microsoft] [SQL Server Native Client 11.0] [SQL Server]关键字“select”附近的语法不正确。 :[Microsoft] [SQL Server Native Client 11.0] [SQL Server]')'附近的语法不正确。

sql sas proc
1个回答
2
投票

你在EXECUTE里面有一个无关的SELECT * FROM connection to myuser;EXECUTE中的代码直接提交给SQL服务器,您的无关代码无效。

这是SAS传递更正。我建议不要使用table作为视图名称的一部分。注意:如果您的SQL Server凭据没有创建视图所需的数据库授权,您将看到一条错误消息。

EXECUTE(
  CREATE VIEW DB.SCHEM.table AS
  SELECT * FROM DB.SCHEM.table2
) by myuser ;

来自SQL Server docs for CREATE VIEW

CREATE [ OR ALTER ] VIEW [ schema_name . ] view_name [ (column [ ,...n ] ) ]   
[ WITH <view_attribute> [ ,...n ] ]   
AS select_statement   
[ WITH CHECK OPTION ]   
[ ; ]  
© www.soinside.com 2019 - 2024. All rights reserved.