[英]How to SQL Pass-through in SAS, create view or table
I am trying to create a View on the database through SAS, SQL passthrough the following way 我正在尝试通过SAS,SQL通过以下方式在数据库上创建视图
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;
Howeever, I get the following errors 但是,出现以下错误
ERROR: CLI prepare error: [Microsoft][SQL Server Native Client 11.0][SQL Server]Incorrect syntax near the keyword 'select'.
错误:CLI准备错误:[Microsoft] [SQL Server Native Client 11.0] [SQL Server]关键字“ select”附近的语法不正确。 : [Microsoft][SQL Server Native Client 11.0][SQL Server]Incorrect syntax near ')'.
:[Microsoft] [SQL Server Native Client 11.0] [SQL Server]')'附近的语法不正确。
You have an extraneous SELECT * FROM connection to myuser;
您有一个
SELECT * FROM connection to myuser;
无关的SELECT * FROM connection to myuser;
inside the EXECUTE. 内部执行。 The code inside
EXECUTE
is submitted directly to SQL server, and your extraneous code is invalid. EXECUTE
的代码直接提交到SQL Server,并且您的无关代码无效。
Here is the SAS pass-through corrected. 这是SAS直通校正的。 I would advise against using
table
as part of view name. 我建议不要将
table
用作视图名称的一部分。 Note: You will see an error message if your SQL Server credentials do not have the data base grants needed to create a view. 注意:如果您的SQL Server凭据没有创建视图所需的数据库授予,您将看到一条错误消息。
EXECUTE(
CREATE VIEW DB.SCHEM.table AS
SELECT * FROM DB.SCHEM.table2
) by myuser ;
From SQL Server docs for CREATE VIEW 从SQL Server文档创建视图
CREATE [ OR ALTER ] VIEW [ schema_name . ] view_name [ (column [ ,...n ] ) ] [ WITH <view_attribute> [ ,...n ] ] AS select_statement [ WITH CHECK OPTION ] [ ; ]
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.