我正在尝试通过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;
但是,出现以下错误
错误:CLI准备错误:[Microsoft] [SQL Server本机客户端 11.0] [SQL Server]不正确 关键字“ select”附近的语法。 :[Microsoft] [SQL Server Native Client 11.0] [SQL 服务器]“)”附近的语法不正确。
答案 0 :(得分:2)
您在EXECUTE中有一个多余的SELECT * FROM connection to myuser;
。 EXECUTE
中的代码直接提交到SQL Server,您的无关代码无效。
这是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 ] [ ; ]