#sas #teradata
#sas #teradata
Вопрос:
Я пытаюсь выполнить хранимую процедуру Teradata из SAS, но не смог найти правильный синтаксис, вот пример того, что я пробовал:
libname tbconn сервер teradata=»10.11.18.15″ база данных =»yy» пользователь =x pw=xx; выполнить tbconn.Имя процедуры (дата ‘2011-03-31’);
и я также пытался использовать call command вместо excecute, но это также не сработало. есть идеи, люди.
Ответ №1:
Пробовали ли вы следующее:
libname tbconn teradata server="10.11.18.15" database="yy" user=x pw=xx; call <databaseowner>.ProcedureName(date '2011-03-31');
Где <databaseowner>
— база данных, в которой хранится процедура, расположенная в Teradata. Я не уверен, что database="yy"
в вашем примере это та же база данных, где можно найти хранимую процедуру, или нет.
Редактировать: должен ли SQL, передаваемый в базу данных, быть обернут во что-то вроде функции EXECUTE в SAS? EXECUTE(call <db>.<procedure>(<param>);) BY tbconn;
Комментарии:
1. появляется та же ошибка, она выдает сообщение об ошибке, которое называется «Ошибка 180-322: оператор недопустим или он используется не в правильном порядке», и я также попробовал connectionName. имя_базы_данных.имя_процеДуры