Hi,
I have a stored process (SP) which contains the following proc sql
proc sql;
SELECT NAME
FROM a.TABLE
WHERE NAME NOT IN (&cond);
quit;
&cond is dynamically determined by the calling SP and passed
through the URL :
SASStoredProcess/do?_program=/BIP Tree/ReportStudio/StoredProcesses/my_sp&cond="NAME1" "NAME2"
The above sql procedure is not executed because of a syntax error
ERROR 22-322: Syntax error, expecting one of the following: a quoted string, a numeric constant, a datetime constant, a missing value, -.
However the log indicates that the macrovariable cond generates "NAME1" "NAME2" as wished.
Moreover, when I copy/paste the resolved proc sql displayed in the log in SAS and execute it, it works.
proc sql;
SELECT NAME FROM a.TABLE WHERE NAME NOT IN ("NAME1" "NAME2");
quit;
How can I get this proc to work ?
Thanks
Hi,
Just a guess, is it worth trying to use the %unquote() function, e.g.:
WHERE NAME NOT IN (%unquote(&cond))
Regards,
Amir.
Thanks ! You guessed right. It works.
SAS Innovate 2025 is scheduled for May 6-9 in Orlando, FL. Sign up to be first to learn about the agenda and registration!
Learn how use the CAT functions in SAS to join values from multiple variables into a single value.
Find more tutorials on the SAS Users YouTube channel.
Ready to level-up your skills? Choose your own adventure.