1
resposta

[Sugestão] Ponto sobre a aula 02. Tipos e funções - 04. Retorno composto

Buenas, pessoas. Eu criei as queries conforme abaixo e não tive o erro de conversão de um inteiro para o decimal, mencinado no tempo 2:30 de vídeo. Acredito que em alguma versão entre a 12 (usada pelo Vinícius) e a 16 (usada no dia de hoje) esse problema foi corrigido. Pode ser interessante adicionar essa informação como alguma nota após o vídeo.

CREATE TABLE instrutor (
    id SERIAL PRIMARY KEY, 
    nome VARCHAR(255) NOT NULL,
    salario DECIMAL(10,2) NULL
);
INSERT INTO instrutor VALUES (1, 'Augusto', 100);
INSERT INTO instrutor VALUES (2, 'Mauro', 200);

CREATE OR REPLACE FUNCTION dobro_salario (var instrutor) RETURNS DECIMAL AS 
$funcao$
    SELECT var.salario * 2 AS dobro;
$funcao$ LANGUAGE SQL;
SELECT nome, dobro_salario(instrutor.*) FROM instrutor;

CREATE OR REPLACE FUNCTION cria_falso() RETURNS instrutor AS $funcao$
    SELECT 22 AS id, 'Invasor' AS nome, 400 AS salario;
$funcao$ LANGUAGE SQL;

SELECT nome, dobro_salario(cria_falso()) FROM cria_falso() 
UNION 
SELECT nome, dobro_salario(instrutor) FROM instrutor;
1 resposta

Ola!

Opa, valeu pra sugestão! Ajudou mt!