Fórum Stored Procedure criada no BD, ao utilizar TStoredProc... #254636
15/10/2004
0
Olá a todos,
Utilizo D7 com dbExpress e o banco PostgreSQL. Como quero que minhas consultas fiquem no servidor, criei uma SP no servidor como descrita a seguir:
CREATE FUNCTION public.agenda(timestamp, varchar, varchar) RETURNS SETOF public.medicos AS ´SELECT * FROM medicos WHERE medicos.crm In
(SELECT DISTINCT Agenda.CRM
FROM AGENDA
WHERE (Agenda.DATACONS = $1) And (Agenda.COD_LOCAL = $2) AND (Agenda.Atendido = $3));´ LANGUAGE ´sql´ VOLATILE;
a) Coloquei o objeto TStoredProc
b) Na propriedade StoreProcName achei a SP criada acima
Ocorre que:
1) Na propriedade PARAMS não aparece os 3 parâmetros listados na SP. Se tiver que adiciona-los, eu já fiz isso mas deu o erro ´Index out of bounds´
2) Ao simplesmente executa-la, sem os parametros criados, aparece o seguinte erro (como se a sintaxe da SP estivesse errada. ! )
SQL server error: parser: parse error at or near ´)´ at character 9
O que pode estar ocorrendo?
Grato
Utilizo D7 com dbExpress e o banco PostgreSQL. Como quero que minhas consultas fiquem no servidor, criei uma SP no servidor como descrita a seguir:
CREATE FUNCTION public.agenda(timestamp, varchar, varchar) RETURNS SETOF public.medicos AS ´SELECT * FROM medicos WHERE medicos.crm In
(SELECT DISTINCT Agenda.CRM
FROM AGENDA
WHERE (Agenda.DATACONS = $1) And (Agenda.COD_LOCAL = $2) AND (Agenda.Atendido = $3));´ LANGUAGE ´sql´ VOLATILE;
a) Coloquei o objeto TStoredProc
b) Na propriedade StoreProcName achei a SP criada acima
Ocorre que:
1) Na propriedade PARAMS não aparece os 3 parâmetros listados na SP. Se tiver que adiciona-los, eu já fiz isso mas deu o erro ´Index out of bounds´
2) Ao simplesmente executa-la, sem os parametros criados, aparece o seguinte erro (como se a sintaxe da SP estivesse errada. ! )
SQL server error: parser: parse error at or near ´)´ at character 9
O que pode estar ocorrendo?
Grato
Danilozanaga
Curtir tópico
+ 0
Responder
Posts
15/10/2004
Edineidaniel
Vc jah tentou Substituir... $ por :
Tb eu naum sei se pode ser isso pois eu nunca trabalhei com PostGre
eh q eu trabalho com storeprocedure no FireBird...
t+
Edinei
Tb eu naum sei se pode ser isso pois eu nunca trabalhei com PostGre
eh q eu trabalho com storeprocedure no FireBird...
t+
Edinei
Responder
Gostei + 0
16/10/2004
Danilozanaga
Obrigado, vou testar.
Uma coisa eu sei que funciona. Se eu entrar no console do PostgreSQL (como se fosse um IBConsole do interbase), e digitar:
select * from agendamento(´01/10/2004´,J1,´N´);
Executaria a SP com esses 3 parametros. Portanto, no delphi eu poderia usar este comando em uma TSQLQuery, o que eu não quero fazer.
Grato
Uma coisa eu sei que funciona. Se eu entrar no console do PostgreSQL (como se fosse um IBConsole do interbase), e digitar:
select * from agendamento(´01/10/2004´,J1,´N´);
Executaria a SP com esses 3 parametros. Portanto, no delphi eu poderia usar este comando em uma TSQLQuery, o que eu não quero fazer.
Grato
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)