1
我的表格有几个有相似名称的列,比如year_1,year_2,year_3等等。有没有简单的方法可以列出所有这些列,而不用全部输入?我不能使用select *,因为我不想要其他列。谢谢。如何用select语句列出相似的列名称?
我的表格有几个有相似名称的列,比如year_1,year_2,year_3等等。有没有简单的方法可以列出所有这些列,而不用全部输入?我不能使用select *,因为我不想要其他列。谢谢。如何用select语句列出相似的列名称?
您必须在存储过程中使用动态nzplsql。虽然存储过程不容易返回表,但是您可以通过游标轻松输出从_v_relation_column
生成的select语句。在bash中捕获它并将其提供给nzsql
以从表中进行选择。无论是或者你可以返回一个reftable。
/* Stored procedure header. */
declare sql varchar;
declare col record;
begin_proc
sql := 'select ';
for col in select * from _v_relation_column where name = 'TABLE_NAME' loop
if col.attname like 'year%'
sql := sql || attname || ',';
end if;
sql := substring(sql,1,length(sql)-1); --To strip the last comma. Could probably be more elegant.
sql := sql || ' from table_name;';
raise notice '%',sql;
end_proc;
/* Stored procedure footer. */