Estou há dias me batendo pra entender a lógica das Functions e Procedures e todos os tutores trazem muita informação de uma vez só como se já programássemos. Pela primeira vez consegui entender como iniciar a Function sem ficar confuso, obrigado Robson.
Bom dia!!! muito boa a sua forma de explicar! Eu gostaria de saber como podemos retornar um conjunto de registro passando como parâmetro um valor especifico. Por exemplo, imagine que tenho um banco armazena os pedidos realizados, porém, como eu poderia criar uma função, onde eu passaria o id do cliente e, retornasse para mim quantos pedidos ele já realizou. Desde já agradeço, ficou no aguardo!
Eu estava tendo problemas com essas Stored Procedures na faculdade, mas esse vídeo me tirou muitas dúvidas. Parabéns pela aula professor, muito bem explicada :D
como que eu poderia criar uma função pra pegar os dados de um campo do tipo JSON e colocar os respectivos dados em outras tabelas, ou seja, teria dados que seria de uma tabela e outros que iriam pra outra tabela
Criei as funções igual a da aula, rodou blz. Mas depois de abrir a "Functions" copiar e colar e dar um save, o postgre diz que há um erro próximo ao Create... ERROR: erro de sintaxe em ou próximo a "create" LINE 6: create or replace function soma(num1 int, num2 int) create or replace function soma(num1 int, num2 int) returns int as $$ begin return num1 + num2; end; $$ language plpgsql; select busca(1,5); Mesmo colocando outro nome, para não ter problemas, sempre da esse erro.
ola, boa tarde... uma aula melhor que a outra... parabens... voces tem alguma aula especifica falando sobre backup? executo meus backups atraves de um bat com o pg_dump, mais acho q deve existir algum modo melhor que esse, ja que estou tendo dificuldades com o pgagent na versão 10...
omo apagar parte do registro de tabela de um período especifico. por ex no mysql temos a seguinte expressão. delete from tc_events where servertime < DATE(NOW() - INTERVAL 180 day); significa que estou apagando tudo o que for superior a esse tempo, quero deixar o registro dos ultimos 180 dias no banco de dados. como deveria estar? obrigado!
cara bom dia ! como ficaria se eu montasse essas funções de gatilhos com esses 3 enunciados? 1.Um funcionário não pode ter mais de um carro em estado principal (aostatus="P" na tabela carros). Esta regra deverá verificada quando se fizer uma inclusão ou alteração de dados nos veículos. 2.Em uma Nota Fiscal de venda, quando se insere um item (um produto) deve-se alterar a quantidade do produto em estoque (diminuir a quantidade do produto no campo qtestoque). 3.Um livro deve ter a quantidade de exemplares superior à 30 para ser incluído na bibliografia básica de uma disciplina. as tabelas ja estão criadas só não consigo interpretar nos gatilhos
Aulas fantásticas, na minha faculdade as aulas de banco de dados foi com Postgresql, mas não foi algo tão avança e simples como as suas explicações, parabéns. Me tire uma dúvida, quando eu uso uma linguagem de programação pra chamar uma função é como você fez? Apenas chamo o select? Muito obrigado pelas aulas.
Fala Elenicio, na real temos duas formas de invocar funções... A mais comum (e que acredito que você vai executar em 99% dos casos) é invocando pelo próprio select como fizemos nessa aula... Mas aqui você pode ver que ela foi convertida em um campo do banco. Há também a possibilidade de executar uma função e fazer com que ela retorne uma tabela (aqui o assunto começa a ficar mais avançado ainda porque você pode começar a usar o TEMPORARY) e você faz a invocação depois do FROM, como: SELECT * FROM minha_funcao(meu_parametro); Eu vou mostrar a aplicação de tudo isso nessas aulas... Se tiver alguma dúvida específica, me fala aqui exatamente o que precisa que eu dou um jeito de preparar uma aula :)
Boa Noite Professor eu estou tentando ciar uma trigger em que quando eu faço um update ele já subtrair a quantidade do item só que não estou conseguindo encontrar uma lógica que funcione esse é a function que eu estou tentando eu consegui alterar mas ele altera o banco todo não sei como faço para passar um id especifico.......segue o codigo será que tem algum sentido ?.... create or REPLACE FUNCTION retirar_quantidade() returns text AS $$ BEGIN UPDATE item set quantidade = old.quantidade - new.quantidade where id_item = ? ; return null ; end ; $$ LANGUAGE plpgsql;
Gustavo, vi que vc está usando Postgres .... estou com um problema que frequentemente ele está congelando e eu tenho que reiniciar o banco para acessar.... o que será que está acontecendo?
Ola que eula maravilhosa, me da um norte ai, tenho umatabela assim: 01 chave(banh) - 01 sub-chave(pisos) - 01 btn(bom) 01 btn(otimo) 01 btn(excelente) 01 btn(melhorar) 01 btn(pessimo), em cada click(somar 1) no meu pgadmin3, criar-se tb essas funcoes ou nao, sou iniciante em banco de dados, grato RIBEIRAO PRETO-SP
Olá amigo, pode me ajudar. Quando eu fecho o postgresql sem desconectar nao consigo mais conectar. Da esse erro: the database system is starting up. Tem algum comando que eu possa encerrar a conexão, já que ele diz que o sistema está execução
Bom dia! Estas funções podem fazer insert, update ou delete? Tenho no banco um relacionamento N x M posso utilizar estas funções para me auxiliar neste caso, pois minhas querys estão grandes! Exemplo: Tabelas Pessoa, Empresa e Endereco. Relacionamento Pessoa tem Endereco gera a tabela PHE, Empresa tem Endereco gera tabela EHE, está sendo um saco unir estas tabelas toda vez.
Fala Rodolfo, dá para fazer sim sem problemas! A grosso modo, todas as verificações que você faz com a sua linguagem de programação você consegue transportar pra cá e ainda fazer as interações necessárias (CRUD completo). Mas no caso que você citou ai acima, o ideal não é uma função e sim uma VIEW... Se você não sabe do que se trata, me deixa um comentário aqui que eu programo um conteúdo para te mostrar como que funciona mais esse recurso. A view, diferentemente de uma função, não tem passagem de parâmetros... Basicamente ela serve como um sintetizador de código SQL e acredite ou não, vai resolver o seu problema com apenas uma linha! :) Forte abraço man.
Otima sua aulas vc sera que vc pode me ajudar preciso inserir uma imgem num campo do tipo OID o sistema esta na rede local funciona mas se eu buscar a imagem pelo rede me da erro ERROR: could not open server file ERROR: could not open server file '\\Balcao\c\imgagem.pdf' SQL state: 42501
Estou há dias me batendo pra entender a lógica das Functions e Procedures e todos os tutores trazem muita informação de uma vez só como se já programássemos. Pela primeira vez consegui entender como iniciar a Function sem ficar confuso, obrigado Robson.
Bom dia!!!
muito boa a sua forma de explicar!
Eu gostaria de saber como podemos retornar um conjunto de registro passando como parâmetro um valor especifico. Por exemplo, imagine que tenho um banco armazena os pedidos realizados, porém, como eu poderia criar uma função, onde eu passaria o id do cliente e, retornasse para mim quantos pedidos ele já realizou. Desde já agradeço, ficou no aguardo!
Passei o dia tentando entender o que você me explicou em menos de 20 minutos, obrigado!!
Muito bom, aprendi muito!
Parabéns pelos exemplos simpes que finalmente que deram um norte para esse conteudo
Muito bom. Parabéns e obrigado.
Nossa ele ensina com uma facilidade... parabéns showww
Sensacional.... Aula prática com linguagem clara!
Valew pelo compartilhamento do conhecimento!
Parabéns!
Ótima aula! Após horas de dor de cabeça tentando entender, com a sua aula finalmente senti tudo clarear. Obrigado! ^^
seus vídeos são ótimos, parabéns pela didática, clareza e sempre objetivo ensinando o que realmente faz sentido no dia a dia de um programador.
Tmj :)
Obrigado!
parabéns pela aula. Realmente não é abrangente o conteúdo na internet que ensina banco de dados por postgres. Obrigado.
Aluno da UTFPR-td
Ja me escrivi no canal, conteudo muito foda!
PQP que show, vlw ai pela aula.... interessante que se pode programar dentro do banco de dados....
Excelente! Parabéns pelo conteúdo. Gostaria de ver sobre tratamento de exceções blocos para cursores.
Você é muito bom cara !!! Gostei....
Muito bem explicado! De forma objetiva e simplificada.
Show essa aula, parabéns :-)
Olá Professor!
Nesse video (minuto 13) o senho inseriu um UPDATE na tabela com o salário do usuário. Por que não foi feito pelo INSERT INTO?
Parabéns meu caro pela iniciativa e gostei muito da aula, explicou de uma forma simples e clara.
Eu estava tendo problemas com essas Stored Procedures na faculdade, mas esse vídeo me tirou muitas dúvidas. Parabéns pela aula professor, muito bem explicada :D
Que aula simples e prática, parabéns! ;)
aula show !!! :)
Aula sensacional! Que didática foda, irmão! Show!
Boa tarde Robson. Como fazer para a função retornar o resultado de um select com várias linhas e colunas?
inscrito, e like
como que eu poderia criar uma função pra pegar os dados de um campo do tipo JSON e colocar os respectivos dados em outras tabelas, ou seja, teria dados que seria de uma tabela e outros que iriam pra outra tabela
Como criar uma função que verifique dados já cadastrados e eu barre o mesmo valor?
Criei as funções igual a da aula, rodou blz. Mas depois de abrir a "Functions" copiar e colar e dar um save, o postgre diz que há um erro próximo ao Create...
ERROR: erro de sintaxe em ou próximo a "create"
LINE 6: create or replace function soma(num1 int, num2 int)
create or replace function soma(num1 int, num2 int)
returns int as $$
begin
return num1 + num2;
end;
$$ language plpgsql;
select busca(1,5);
Mesmo colocando outro nome, para não ter problemas, sempre da esse erro.
Gustavo, como eu crio uma função responsável por registrar alterações feitas em uma tabela do meu banco?
ola, boa tarde... uma aula melhor que a outra... parabens... voces tem alguma aula especifica falando sobre backup? executo meus backups atraves de um bat com o pg_dump, mais acho q deve existir algum modo melhor que esse, ja que estou tendo dificuldades com o pgagent na versão 10...
Muito bom, está show de bola o #BoraProgramar
Muito bom e bem explicado video!
omo apagar parte do registro de tabela de um período especifico.
por ex no mysql temos a seguinte expressão.
delete from tc_events where servertime < DATE(NOW() - INTERVAL 180 day);
significa que estou apagando tudo o que for superior a esse tempo, quero deixar o registro dos ultimos 180 dias no banco de dados.
como deveria estar?
obrigado!
cara bom dia !
como ficaria se eu montasse essas funções de gatilhos com esses 3 enunciados?
1.Um funcionário não pode ter mais de um carro em estado principal
(aostatus="P" na tabela carros). Esta regra deverá verificada quando se fizer
uma inclusão ou alteração de dados nos veículos.
2.Em uma Nota Fiscal de venda, quando se insere um item (um produto) deve-se
alterar a quantidade do produto em estoque (diminuir a quantidade do produto
no campo qtestoque).
3.Um livro deve ter a quantidade de exemplares superior à 30 para ser incluído
na bibliografia básica de uma disciplina.
as tabelas ja estão criadas só não consigo interpretar nos gatilhos
QUAL O TEMPO DE RESPOSTA DO *PostgreSQL???*
Olá! Boa tarde! Declaração de variáveis no Postgres só é aceita dentro do código de funções?
Salve Gustavo, parabéns pelo vídeo, eu tenho uma dúvida, existe alguma diferença entre function e procedure?
Aulas fantásticas, na minha faculdade as aulas de banco de dados foi com Postgresql, mas não foi algo tão avança e simples como as suas explicações, parabéns. Me tire uma dúvida, quando eu uso uma linguagem de programação pra chamar uma função é como você fez? Apenas chamo o select? Muito obrigado pelas aulas.
Fala Elenicio, na real temos duas formas de invocar funções... A mais comum (e que acredito que você vai executar em 99% dos casos) é invocando pelo próprio select como fizemos nessa aula... Mas aqui você pode ver que ela foi convertida em um campo do banco. Há também a possibilidade de executar uma função e fazer com que ela retorne uma tabela (aqui o assunto começa a ficar mais avançado ainda porque você pode começar a usar o TEMPORARY) e você faz a invocação depois do FROM, como: SELECT * FROM minha_funcao(meu_parametro); Eu vou mostrar a aplicação de tudo isso nessas aulas... Se tiver alguma dúvida específica, me fala aqui exatamente o que precisa que eu dou um jeito de preparar uma aula :)
Sempre a soma de 2 inteiros será 2 inteiros? 4:25
tou precisando fazer uma função com trigger que incremente um campo de uma tabela toda vez que eu der um insert, tem uma aula dessas por aqui? ;-;
Boa Noite Professor eu estou tentando ciar uma trigger em que quando eu faço um update ele já subtrair a quantidade do item só que não estou conseguindo encontrar uma lógica que funcione esse é a function que eu estou tentando eu consegui alterar mas ele altera o banco todo não sei como faço para passar um id especifico.......segue o codigo será que tem algum sentido ?....
create or REPLACE FUNCTION retirar_quantidade()
returns text AS $$
BEGIN
UPDATE item set quantidade = old.quantidade - new.quantidade where id_item = ? ;
return null ;
end ;
$$ LANGUAGE plpgsql;
Gustavo, vi que vc está usando Postgres .... estou com um problema que frequentemente ele está congelando e eu tenho que reiniciar o banco para acessar.... o que será que está acontecendo?
Ola que eula maravilhosa, me da um norte ai, tenho umatabela assim:
01 chave(banh) - 01 sub-chave(pisos) - 01 btn(bom) 01 btn(otimo) 01 btn(excelente) 01 btn(melhorar) 01 btn(pessimo), em cada click(somar 1) no meu pgadmin3, criar-se tb essas funcoes ou nao, sou iniciante em banco de dados, grato RIBEIRAO PRETO-SP
Olá amigo, pode me ajudar. Quando eu fecho o postgresql sem desconectar nao consigo mais conectar. Da esse erro: the database system is starting up.
Tem algum comando que eu possa encerrar a conexão, já que ele diz que o sistema está execução
Bom dia!
Estas funções podem fazer insert, update ou delete? Tenho no banco um relacionamento N x M posso utilizar estas funções para me auxiliar neste caso, pois minhas querys estão grandes! Exemplo: Tabelas Pessoa, Empresa e Endereco. Relacionamento Pessoa tem Endereco gera a tabela PHE, Empresa tem Endereco gera tabela EHE, está sendo um saco unir estas tabelas toda vez.
Fala Rodolfo, dá para fazer sim sem problemas! A grosso modo, todas as verificações que você faz com a sua linguagem de programação você consegue transportar pra cá e ainda fazer as interações necessárias (CRUD completo). Mas no caso que você citou ai acima, o ideal não é uma função e sim uma VIEW... Se você não sabe do que se trata, me deixa um comentário aqui que eu programo um conteúdo para te mostrar como que funciona mais esse recurso. A view, diferentemente de uma função, não tem passagem de parâmetros... Basicamente ela serve como um sintetizador de código SQL e acredite ou não, vai resolver o seu problema com apenas uma linha! :)
Forte abraço man.
Homi faça logo! Lhe agradeço muito se puder fazer isso
Otima sua aulas vc sera que vc pode me ajudar preciso inserir uma imgem num campo do tipo OID o sistema esta na rede local funciona mas se eu buscar a imagem pelo rede me da erro ERROR: could not open server file ERROR: could not open server file '\\Balcao\c\imgagem.pdf'
SQL state: 42501