sql >> Databáze >  >> RDS >> PostgreSQL

Mohu 'znovu zkompilovat' tabulku vracející funkce poté, co byla tato tabulka ALTER-ed během migrace databáze?

hledali jste toto DO prohlášení:

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 naznačuje a_horse_with_no_name, stačí \c pro opětovné připojení k psql




  1. Převést číslo na datum sql oracle

  2. Hledání posledního indexu řetězce v Oracle

  3. PostgresSQL Nested Loops – Kdy se plánovač rozhodne použít Nested Loop při provádění INNER JOIN?

  4. Rychlé nasazení aplikace Visual Studio 2010 s databází SQL