Обсуждение: Select Command in Procedures
Dear all,
I am able to execute command successfully through CLI or pgAdmin .
create table user_news_new as select record_id,field_name,field_value,news_date from user_news where field_name in ('SOI','RelLoc','Description','Heading','news_date') and field_value != '' ;
But I don't know when I put this command in a procedure, it shows error :
CREATE FUNCTION user10() RETURNS void AS'
DECLARE
BEGIN
create table user_news_new as select record_id,field_name,field_value,news_date from user_news where field_name in ('SOI','RelLoc','Description','Heading','news_date') and field_value != '' ;
END;
' LANGUAGE 'plpgsql';
Error :
globe=# CREATE FUNCTION user10() RETURNS void AS'
globe'# DECLARE
globe'# BEGIN
globe'# create table user_news_new as select record_id,field_name,field_value,news_date from user_news where field_name in ('SOI','RelLoc','Description','Heading','news_date') and field_value != '' ;
globe'# END;
globe'# ' LANGUAGE 'plpgsql';
ERROR: syntax error at or near "SOI"
LINE 4: ...ue,news_date from user_news where field_name in ('SOI','RelL...
^
Please help as I stuck with this issue.
Thanks & Regards
Adarsh Sharma
I am able to execute command successfully through CLI or pgAdmin .
create table user_news_new as select record_id,field_name,field_value,news_date from user_news where field_name in ('SOI','RelLoc','Description','Heading','news_date') and field_value != '' ;
But I don't know when I put this command in a procedure, it shows error :
CREATE FUNCTION user10() RETURNS void AS'
DECLARE
BEGIN
create table user_news_new as select record_id,field_name,field_value,news_date from user_news where field_name in ('SOI','RelLoc','Description','Heading','news_date') and field_value != '' ;
END;
' LANGUAGE 'plpgsql';
Error :
globe=# CREATE FUNCTION user10() RETURNS void AS'
globe'# DECLARE
globe'# BEGIN
globe'# create table user_news_new as select record_id,field_name,field_value,news_date from user_news where field_name in ('SOI','RelLoc','Description','Heading','news_date') and field_value != '' ;
globe'# END;
globe'# ' LANGUAGE 'plpgsql';
ERROR: syntax error at or near "SOI"
LINE 4: ...ue,news_date from user_news where field_name in ('SOI','RelL...
^
Please help as I stuck with this issue.
Thanks & Regards
Adarsh Sharma
* Adarsh Sharma wrote: > I am able to execute command successfully through CLI or pgAdmin . > > *create table user_news_new as select > record_id,field_name,field_value,news_date from user_news where > field_name in ('SOI','RelLoc','Description','Heading','news_date') and > field_value != '' ; * > > But I don't know when I put this command in a procedure, it shows error : > > CREATE FUNCTION user10() RETURNS void AS' > DECLARE > BEGIN > create table user_news_new as select > record_id,field_name,field_value,news_date from user_news where > field_name in ('SOI','RelLoc','Description','Heading','news_date') and > field_value != '' ; > END; > ' LANGUAGE 'plpgsql'; You are using single quotation marks around your function body already. Use dollar quoting instead. -- Christian