CREATE FUNCTION populate() [resolvido]

Pessoal boa madruga, como se cria uma TABELA através de uma função ? depois INSERI dados radomicos nela ?

[code]CREATE FUNCTION populate() RETURNS integer AS $$
DECLARE

BEGIN
LOOP
CREATE TABLE t2
(
e integer,
f integer
);

END LOOP;

END;
$$ LANGUAGE plpgsql;

SELECT populate();
[/code]

[code]-- Function: processa_emp_audit()

– DROP FUNCTION processa_emp_audit();

CREATE OR REPLACE FUNCTION processa_emp_audit()
RETURNS trigger AS
$BODY$
BEGIN

– Cria uma linha na tabela emp_audit para refletir a operação
– realizada na tabela emp. Utiliza a variável especial TG_OP
– para descobrir a operação sendo realizada.

IF (TG_OP = ‘DELETE’) THEN

        CREATE TABLE emp2 (
nome_emp    text NOT NULL,
salario     integer

);

    ELSIF (TG_OP = 'UPDATE') THEN
      
        CREATE TABLE emp3 (
nome_emp    text NOT NULL,
salario     integer

);

    ELSIF (TG_OP = 'INSERT') THEN
     
        CREATE TABLE emp4 (
nome_emp    text NOT NULL,
salario     integer

);

    END IF;
    RETURN NULL; -- o resultado é ignorado uma vez que este é um gatilho AFTER
END;

$BODY$
LANGUAGE ‘plpgsql’ VOLATILE
COST 100;
ALTER FUNCTION processa_emp_audit() OWNER TO root;


CREATE TRIGGER emp_gatilho BEFORE INSERT OR UPDATE ON emp
FOR EACH ROW EXECUTE PROCEDURE emp_gatilho();


INSERT INTO emp (nome_emp, salario) VALUES (‘João’,1000);
INSERT INTO emp (nome_emp, salario) VALUES (‘José’,1500);
INSERT INTO emp (nome_emp, salario) VALUES (‘Maria’,250);
UPDATE emp SET salario = 2500 WHERE nome_emp = ‘Maria’;

SELECT * FROM emp;
[/code]

RESOLVIDO… valeu !