簡體   English   中英

Postgresql - psql - for 循環不顯示 output

[英]Postgresql - psql - for loop not displaying output

以下 sql 文件運行無誤; 但是它沒有顯示任何 output。 該文件使用以下命令執行:pslq -d database -f filename。 如何修改它以顯示 output?

do $$
  declare tn varchar ;
  begin
     for tn in 
        select tablename from pg_tables where tableowner not like 'postgres%'
        loop
            EXECUTE format('SELECT count(*) from  %I;', tn);
        end loop;
  end;
$$;

問題是動態查詢的結果將被丟棄,除非您使用SELECT... INTO

DO $$
DECLARE
   tn text;
   total bigint;
BEGIN
   FOR tn IN 
      SELECT tablename FROM pg_tables WHERE tableowner NOT LIKE 'postgres%'
   LOOP
      EXECUTE format('SELECT count(*) from  %I;', tn) INTO total;
      RAISE NOTICE 'Table: % rows: %', tn, total;
   END LOOP;
END;
$$;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM