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. */