PostgreSQL
 sql >> Baza danych >  >> RDS >> PostgreSQL

Czy mogę "ponownie skompilować" funkcje zwracające tabelę po tym, jak ta tabela zostanie zmieniona podczas migracji bazy danych?

szukałeś tego DO oświadczenie:

CREATE TABLE p1(a INT, b TEXT);

CREATE OR REPLACE FUNCTION authenticate() RETURNS SETOF p1 as '
DECLARE
    player_row p1;
BEGIN

    -- query is more complicated but always returns zero or one rows
    SELECT p.* INTO player_row
    FROM p1 p;

    IF FOUND THEN
        RETURN NEXT player_row;

        -- more code in here..
    END IF;

    RETURN;
END;' LANGUAGE plpgsql ROWS 1;

ALTER TABLE p1 ADD COLUMN c VARCHAR(2);
INSERT INTO p1 VALUES(1,'a', 'c');

do $$ begin execute pg_get_functiondef('authenticate'::regproc); end; $$;

SELECT * FROM AUTHENTICATE();

ale jak sugeruje a_koń_bez_nazwy, możesz po prostu \c aby ponownie połączyć się z psql




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Policz wiersze po dołączeniu do trzech tabel w PostgreSQL

  2. Próba skonstruowania zapytania PostgreSQL w celu wyodrębnienia z JSON wartości tekstowej w obiekcie, tablicy, obiekcie, tablicy, obiekcie

  3. Postgres:Konwertuj varchar na tekst

  4. Błąd postgress - instalacja pakietu

  5. Wyzwania związane ze skalowaniem bazy danych Moodle PostgreSQL