Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
364 views
in Technique[技术] by (71.8m points)

postgresql - Oracle Input Variable =&name Equivalent in Postgres

I'm trying to run the below command in Postgres as a piece of dynamic SQL that accepts an input variable on the command line. In Oracle I would use ='&TABLE_OWNER' to prompt and accept a table owner for example but I can't find the equivalent in Postgres?

eg.

In Oracle I would do this:

select 'drop table '||owner||'.'||table_name||';' from dba_tables where owner='&TABLE_OWNER';

but what would be the equivalent in Postgres?

select 'drop table '||schemaname||'.'||tablename||';' from pg_tables where schemaname='<INPUT_VARIABLE>';
question from:https://stackoverflow.com/questions/65941672/oracle-input-variable-name-equivalent-in-postgres

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

psql variables are referenced with a colon, like :aname.

prompt 'gimme the schema name' aname
SELECT ... FROM information_schema.tables WHERE table_name = :'aname';

The opening quote has to be after the colon.


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...