我需要从Teradata中提取一些数据以便在R中进行处理。我有大约84 Dep/sec的键,其中大多数键的时间跨度不同,所以我的想法是创建一个Teradata中的存储过程将接受Dep,Sec和Dates作为参数。然后,我可以遍历R中每次调用SP的列表来创建我的数据集。从R脚本调用动态参数的Teradata存储过程
我为了测试这个想法而创建的SP是一个非常简单的SP,但是我无法让它工作。
CREATE PROCEDURE procTest4 (IntN integer)
BEGIN
CALL DBC.SysExecSQL('SELECT top' || IntN || '*
from TableName');
END;
Teradata确实创建了SP,但我不知道如何执行它并将参数传递给它。当我尝试: 呼叫procText4(10) 我得到以下错误:
5568:SQL语句是不是一个存储过程中的支持。
对我来说,唯一的其他选择是在R中创建SQL字符串,然后从那里运行它,但是有多次SQL创建易变表并且RODBC包似乎不喜欢它们,而且它是一个非常混乱的做法。
任何帮助,非常感谢。
你可以用”用sysexecsql做一个SELECT。你需要打开/取出它。无论如何,你为什么还需要SP? –
我想不出任何其他方式顶部传递我的参数?我需要查询是动态的。如果您有任何建议,我会很乐意尝试。干杯 – MidnightDataGeek
除了'Select'你可以使用'Insert',首先你插入你的数据到一个临时表并查询它,然后我不明白你到底想要做什么,所以我只是猜测。 –