在sas sql代码中选择前200行从teradata表中提取数据?

时间:2015-03-26 22:32:35

标签: sql sas

如何在sas sql代码中选择前200行来从teradata表中提取数据?我试过selelect top / fetch前200行/ rownum< 200.这些都不起作用。

1 个答案:

答案 0 :(得分:1)

如果您正在使用explicit pass-through(您发送代码以供teradata服务器评估的地方),则可以使用select top n,但SAS'中不存在此问题。 sql语言。

传递示例:

proc sql;
    /* Create your explicit teradata connection */
    conncect to teradata (user=testuser pass=testpass server=server);

    create table want as
    select * 
    /* Use the results of a teradata query as your data source */
    from connection to teradata (
       /* Your teradata code to be run in the teradata warehouse */
       select top 10 * from TDDB.TDTable
    )
    /* Close the connection */
    disconnect from teradata;
quit;

由于SAS 9.3存在相当多的隐式传递可能性(SAS自动创建并提交DBMS特定查询)但我不确定是否有任何这些可用于此类限制命令。如果我不得不猜测我会说使用obs数据步骤选项或inobs proc sql选项可能值得一试。

  

/ *我没有测试过这些方法* /
 libname tdlib teradata user = testuser pass = testpass server = server;
 数据想要;
 设置tdlib.TDTable(obs = 10);
 运行;
 proc sql inobs = 10;
 select * from tdlib.TDTable;
 放弃;