Exibir mensagem anterior :: Exibir próxima mensagem |
Autor |
Mensagem |
j.leo Novato
Registrado: Terça-Feira, 20 de Mai de 2008 Mensagens: 40 Localização: Campo Grande / MS
|
Enviada: Ter Mai 20, 2008 10:12 am Assunto: [RESOLVIDO]PostGree SQL - Problemas com SQL Básico |
|
|
Ola galera, estou migrando do SQLSERVER2000 para o postgreeSQL 8 agora, e estou tendo alguns problemas.....
o primeiro, vejo todo mundo falando q o sgbd suporta stored procedures e tal...mas eu não consigo utilizar...criei um função q retorna os dados de uma tabela porem pra poder usar tenho q fazer um select na tabela....
ex: select função()
segundo, pra fazer uma consulta simples no banco como por exemplo:
select * from tabela (dessa forma não funciona da erro dizendo q a tabela não existe)
para funcionar tenho q fazer assim...
select * from "TABELA" (ou seja alem de ter que colocar entre aspas duplas ainda é sensitive case, e isso vale se eu quiser pegar um campo especifico)
terceiro, uma forma muito utilizada e que eu não consegui fazer no postgree é a seguinte..
select t1.*
from tabela1 t1
inner join tabela2 t2 on t1.t2_cod = t2.t2_cod
creio q não funcione por falta das aspas...mas eu não consigo nem 'apelidar' a tabela qnt mais fazer um inner join...
essas são algumas das minha duvidas....
estou utilizando a versão 8.2 q foi lansanda em fevereiro...
será q o problema é com a versão????
estou precisando muito de ajuda..m add no msn e respondam esse tópico pois não pode ser q só eu tenha esse problema...
msn: j12leonardo@hotmail.com
desde ja agradeço _________________ J. Leonardo
Editado pela última vez por j.leo em Ter Mai 27, 2008 6:00 pm, num total de 2 vezes |
|
Voltar ao Topo |
|
|
DonOctavioDelFlores Colaborador
Registrado: Quarta-Feira, 12 de Setembro de 2007 Mensagens: 2630 Localização: Pra lá de Bagda
|
Enviada: Ter Mai 20, 2008 10:31 am Assunto: |
|
|
isso tudo ocorreu pq na hora da criacao das tabelas vc passou elas com aspas em volta, dai fica case-sensitive (pelo menos é o que o ocorre no firebird)...
se vc der um
create table blabla(
id_blaa int primary key,
descricao text notnull
);
tudo funciona perfeitamente _________________ “The problem with the world is that everyone is a few drinks behind.” Humphrey Bogart |
|
Voltar ao Topo |
|
|
j.leo Novato
Registrado: Terça-Feira, 20 de Mai de 2008 Mensagens: 40 Localização: Campo Grande / MS
|
Enviada: Ter Mai 20, 2008 10:36 am Assunto: |
|
|
seguinte...
encontrei o problema do uso de aspas...
para criar as tabelas eu utilisei o ER/STUDIO e o script sql coloca o nome e os campos da tabela entre aspas o q ,pelo menos foi o q entendi, o postgree 'reserva' o nome e os campos da tabela...sendo obrigatório o uso das aspas na consulta....
ainda estou fazendo mais alguns testes....se alguem que tenha uma experiencia puder entrar em contato para m ajudar com as sotred procedures ficaria muito grato _________________ J. Leonardo |
|
Voltar ao Topo |
|
|
DonOctavioDelFlores Colaborador
Registrado: Quarta-Feira, 12 de Setembro de 2007 Mensagens: 2630 Localização: Pra lá de Bagda
|
Enviada: Ter Mai 20, 2008 10:53 am Assunto: |
|
|
dá uma olhada no manual que tem tudo lá! _________________ “The problem with the world is that everyone is a few drinks behind.” Humphrey Bogart |
|
Voltar ao Topo |
|
|
j.leo Novato
Registrado: Terça-Feira, 20 de Mai de 2008 Mensagens: 40 Localização: Campo Grande / MS
|
Enviada: Ter Mai 20, 2008 11:10 am Assunto: |
|
|
então...
mas agora surgiu o seguinte problema...
por normas pré definidas terei q colocar a sigla da tabela e depois o nome
sendo q a sigla tem q ser maiuscula...
ex: TAB_Tabela
então terei q deixar case-sensitive...
assim sendo, como faço pra 'apelidar' uma tabela pra poder utilizar o inner join de forma mais prática?
ou tem como eu deixar a tabela nesse padrão sem ficar case-sensitive??? |
|
Voltar ao Topo |
|
|
DonOctavioDelFlores Colaborador
Registrado: Quarta-Feira, 12 de Setembro de 2007 Mensagens: 2630 Localização: Pra lá de Bagda
|
Enviada: Ter Mai 20, 2008 11:32 am Assunto: |
|
|
o postgre deixa tudo minusculo por padrao??? _________________ “The problem with the world is that everyone is a few drinks behind.” Humphrey Bogart |
|
Voltar ao Topo |
|
|
j.leo Novato
Registrado: Terça-Feira, 20 de Mai de 2008 Mensagens: 40 Localização: Campo Grande / MS
|
Enviada: Ter Mai 20, 2008 11:41 am Assunto: |
|
|
pelo q eu vi deixa...pq and criei as tabelas sem as aspas estava tudo maiusculo...
e agora as tabelas aparecem com letras minusculas..
com tudo minusculo consigo efetuar consultas sql normalmente...
só q tenho q padronizar....
help...HELP!!!!!!!!!!!!!!! |
|
Voltar ao Topo |
|
|
j.leo Novato
Registrado: Terça-Feira, 20 de Mai de 2008 Mensagens: 40 Localização: Campo Grande / MS
|
Enviada: Ter Mai 20, 2008 12:05 pm Assunto: |
|
|
aí pessoal olha o q eu encontrei em outro forum...
acho q assim sanam as duvidas do aspas...rsrsr
Caro colega, não há opção no PostgreSql para que você altere o case insensitive para case sensitive. O PostgreSql é case insensitive e lower case, ou seja todos os identificadores (nomes de campos,colunas,constraints...) em comandos sql serão convertidos para letras minúsculas, caso queira usar caracteres maiúsculas em identificadores, deverá usar aspas duplas, ex:
create table "Pessoa" ("Nome" varchar(80));
O problema é que em qualquer consulta posterior você sempre terá que usar aspas duplas:
select "Nome" from "Pessoa"
Pois senão ocorrerá um erro informando que a coluna ou tabela correspondente não foi encontrada.
Igarashi
preciso agora ajuda pra substituir stored proceures do sqlserver2000 para as funções do postgree
valeu |
|
Voltar ao Topo |
|
|
j.leo Novato
Registrado: Terça-Feira, 20 de Mai de 2008 Mensagens: 40 Localização: Campo Grande / MS
|
Enviada: Ter Mai 20, 2008 12:06 pm Assunto: |
|
|
definição do site postgresql.org
4.21) Por que os nomes de minhas tabelas e colunas não são reconhecidos em minha consulta? Por que as maiúsculas não são preservadas?
A causa mais comum de nomes desconhecidos é o uso de aspas ao redor dos nomes da tabela ou coluna durante a criação da tabela. Ao utilizar aspas, nomes de tabela e coluna (chamados de identificadores) são armazenados como especificado, significando que você deve utilizar aspas quando se referir aos nomes na consulta. Algumas interfaces, como pgAdmin, automaticamente colocam aspas nos identificadores durante a criação da tabela. Então, para identificadores serem reconhecidos, você deve:
Evitar colocar aspas no identificador ao criar tabelas
Utilizar somente caracteres minúsculos em identificadores
Colocar aspas em identificadores ao referenciá-los nas consultas |
|
Voltar ao Topo |
|
|
j.leo Novato
Registrado: Terça-Feira, 20 de Mai de 2008 Mensagens: 40 Localização: Campo Grande / MS
|
Enviada: Qua Mai 21, 2008 3:39 pm Assunto: |
|
|
acho q só participo de tópico...mas pelo menos algum dia alguem deve s beneficiar...
galera consegui criar uma função que faz o papel de stored procedure...
segue um exemplo de inserção de tela...ond temos o codigo e a descrição
pra fazer update é só mudar a parte do insert...o mesmo vale pra exclusão
CREATE FUNCTION sp_ins_telas (integer,varchar)
RETURNS void
AS'
DECLARE
p_cd_telas ALIAS FOR $1;
p_ds_telas ALIAS FOR $2;
BEGIN
INSERT INTO tb_telas (
cd_telas,
ds_telas
)
VALUES (
p_cd_telas,
p_ds_telas
);
END;
'
LANGUAGE 'plpgsql';
é isso aí galera...com isso acho q fecho esse tópico...o problema agora é chamar isso do delphi...rsrs
to ralando mas isso eu vou colocar lá no forum do delphi...
de bd acabou...esper ter ajudado...s alguem com experiencia em delphi+zeos+postgresql.....
por favor entre em contato...
abraço |
|
Voltar ao Topo |
|
|
DonOctavioDelFlores Colaborador
Registrado: Quarta-Feira, 12 de Setembro de 2007 Mensagens: 2630 Localização: Pra lá de Bagda
|
Enviada: Qua Mai 21, 2008 5:59 pm Assunto: |
|
|
o zeos ainda nao suporte Sp do postgre pelo ZStoredProc
tem que ser pela query mesmo...
http://zeos.firmos.at/viewtopic.php?=&p=4593 _________________ “The problem with the world is that everyone is a few drinks behind.” Humphrey Bogart |
|
Voltar ao Topo |
|
|
j.leo Novato
Registrado: Terça-Feira, 20 de Mai de 2008 Mensagens: 40 Localização: Campo Grande / MS
|
Enviada: Qua Mai 21, 2008 6:11 pm Assunto: |
|
|
é Don...
o jeito vai ser criar uma Query e utilizar o comando ExecSQL..
mas cara fica praticamente inviavel...o sistema foi desenvolvido durante anos...
agora eu to pegando essa parte de migração...então vou tentar mais um pouco...afinal quem procura acha...nem q eu tenha q fazer essa onça funcionar....rsrs _________________ J. Leonardo |
|
Voltar ao Topo |
|
|
thomazs Moderador
Registrado: Segunda-Feira, 1 de Março de 2004 Mensagens: 2835
|
Enviada: Qua Mai 21, 2008 9:38 pm Assunto: |
|
|
Don, eu uso procedures com o Zeos + Postgree V.8.2 e funciona legal.
j.leo, já trabalho com Delphi + Postgree a uns 2 anos em um sistema de médio porte. Qualquer dúvida, se eu puder ajudar. _________________ Suporte e Consultoria em Desenvolvimento de Sistemas
Bacharel em Sistemas de Informação
Especialista em Bancos de Dados
Desenvolvimento: Clipper, Delphi, PHP, Python/Django |
|
Voltar ao Topo |
|
|
DonOctavioDelFlores Colaborador
Registrado: Quarta-Feira, 12 de Setembro de 2007 Mensagens: 2630 Localização: Pra lá de Bagda
|
Enviada: Sex Mai 23, 2008 1:23 am Assunto: |
|
|
mas vc usa o ZStoredProc?
pq eu testei no mysql (uns anos atras) e dava o erro "operation not supported"...
e ai parece ser o mesmo caso
por query direto funciona... mas pelo StoredProc dá pau...
nao sei como esta agora _________________ “The problem with the world is that everyone is a few drinks behind.” Humphrey Bogart |
|
Voltar ao Topo |
|
|
DonOctavioDelFlores Colaborador
Registrado: Quarta-Feira, 12 de Setembro de 2007 Mensagens: 2630 Localização: Pra lá de Bagda
|
Enviada: Sex Mai 23, 2008 1:29 am Assunto: |
|
|
thomazs
eu tava dando uma estudada no postgre, pra um projeto novo...
vc usa todas as "vantagens" dele?
quais as coisas (na tua opiniao) que fazem o pg valer a pena?
pq é bastante coisa... mas nao tenho dominio, daí to pensando em voltar pra outros bancos que conheco melhor... _________________ “The problem with the world is that everyone is a few drinks behind.” Humphrey Bogart |
|
Voltar ao Topo |
|
|
|