Fórum StoredProcedure com Erro - Por Favor !!!! #146294
17/03/2003
0
CREATE PROCEDURE StpCli_Localizar(
TIPODEOPERACAO INTEGER,
NOME VARCHAR(50),
FANTASIA VARCHAR(40),
CPF_CGC VARCHAR(15))
AS
begin
IF (:TIPODEOPERACAO = 1) then
SELECT NOME,CPF_CGC,TELEFONE,CELULAR,ENDERECO,DATACADASTRO,LIMITICRED,CRED_LIBERADO
FROM Clientes
WHERE NOME like :NOME;
ELSE
SELECT FANTASIA,CPF_CGC,TELEFONE,CELULAR,ENDERECO,DATACADASTRO,LIMITICRED,CRED_LIBERADO
FROM Clientes
WHERE FANTASIA = :FANTASIA;
end
Herivelto
Curtir tópico
+ 0Posts
17/03/2003
Bilouro
IF (:TIPODEOPERACAO = 1) then
[b:b786eb7029]BEGIN[/b:b786eb7029]
SELECT NOME,CPF_CGC,TELEFONE,CELULAR,ENDERECO,DATACADASTRO,LIMITICRED,CRED_LIBERADO
FROM Clientes
WHERE NOME like :NOME;
[b:b786eb7029]END[/b:b786eb7029]
ELSE
[b:b786eb7029]BEGIN[/b:b786eb7029]
SELECT FANTASIA,CPF_CGC,TELEFONE,CELULAR,ENDERECO,DATACADASTRO,LIMITICRED,CRED_LIBERADO
FROM Clientes
WHERE FANTASIA = :FANTASIA;
[b:b786eb7029]END;[/b:b786eb7029]
[b:b786eb7029]end[/b:b786eb7029]
BOM NUNCA FIZ UMA PROCEDURE EM INTERBASE, MAS TENTE ISSO... IF FUNCIONAR BLZ, ELSE FOI MAL
[]´S
Gostei + 0
17/03/2003
Herivelto
Mais valeu a intenção,,,,
um Abraço.
Gostei + 0
17/03/2003
Herivelto
[b:5473f7b3d5]IF[/b:5473f7b3d5] (:TIPODEOPERACAO = 1) [b:5473f7b3d5]then [/b:5473f7b3d5]
[b:5473f7b3d5]SELECT [/b:5473f7b3d5]NOME,CPF_CGC,TELEFONE,CELULAR,ENDERECO,DATACADASTRO,LIMITICRED,CRED_LIBERADO
[b:5473f7b3d5]FROM [/b:5473f7b3d5]Clientes
[b:5473f7b3d5]WHERE [/b:5473f7b3d5]NOME like :NOME;
[b:5473f7b3d5]ELSE [/b:5473f7b3d5]
[b:5473f7b3d5]SELECT [/b:5473f7b3d5]FANTASIA,CPF_CGC,TELEFONE,CELULAR,ENDERECO,DATACADASTRO,LIMITICRED,CRED_LIBERADO
[b:5473f7b3d5]FROM [/b:5473f7b3d5]Clientes
[b:5473f7b3d5]WHERE [/b:5473f7b3d5]FANTASIA LIKE :FANTASIA;
[/b]
Gostei + 0
17/03/2003
Anonymous
Gostei + 0
18/03/2003
Bilouro
IF (:TIPODEOPERACAO = 1) then
SELECT NOME,CPF_CGC,TELEFONE,CELULAR,ENDERECO,DATACADASTRO,LIMITICRED,CRED_LIBERADO
FROM Clientes
WHERE NOME like :NOME;
IF (:TIPODEOPERACAO = 2) then
SELECT FANTASIA,CPF_CGC,TELEFONE,CELULAR,ENDERECO,DATACADASTRO,LIMITICRED,CRED_LIBERADO
FROM Clientes
WHERE FANTASIA LIKE :FANTASIA;
[]´s
Gostei + 0
18/03/2003
Herivelto
[b:9c1ae40c0c]can´t format message 13:896 -- message file C:\Arquivos de programas\HK-Software\firebird.msg not found.
Dynamic SQL Error.
SQL error code = -104.
Token unknown - line 10, char 29.[/b:9c1ae40c0c];.
CREATE PROCEDURE NEW_PROCEDURE (
IDADECLI INTEGER,
NOMECLI VARCHAR(50),
TIPODEOPERACAO INTEGER)
AS
begin
IF (:TIPODEOPERACAO = 1) then
SELECT CLI_NOME,CLI_IDADE,CLI_DATANASCIMENTO
FROM NEW_TABLE
WHERE CLI_NOME = :NOMECLI [color=red:9c1ae40c0c];[/color:9c1ae40c0c]
IF (:TIPODEOPERACAO = 2) then
SELECT CLI_NOME,CLI_IDADE,CLI_DATANASCIMENTO
FROM NEW_TABLE
WHERE CLI_IDADE = :IDADECLI ;
suspend;
end
para no ; e se eu tiro ele para no IF
[/b]
Gostei + 0
17/05/2003
Datasystem
A VARIAS COISAS QUE ESTAM FALTANDO NA SUA PROCEDURE
1º - FALTA OS PARAMETROS DE RETORNO
2º - FALTA AS CLAUSULAS [b:0b23e7f0a1]INTO DO[/b:0b23e7f0a1]
ENTRE OUTRAS....
SEGUE ABAIXO A PROCEDURE ALTERADA
CREATE PROCEDURE StpCli_Localizar( TIPODEOPERACAO INTEGER,PNOME VARCHAR(50))
RETURNS(
NOME VARCHAR(50),
CPF_CGC //SEU TIPO ,
TELEFONE //SEU TIPO,
CELULAR //SEU TIPO,
ENDERECO //SEU TIPO,
DATACADASTRO //SEU TIPO,
LIMITICRED //SEU TIPO,
CRED_LIBERADO //SEU TIPO
FANTASIA VARCHAR(40),
CPF_CGC VARCHAR(15)
)
AS
begin
IF (:TIPODEOPERACAO = 1) then
BEGIN /*este begin so existe por causa da clausula suspend */
FOR SELECT NOME,CPF_CGC,TELEFONE,CELULAR,ENDERECO,DATACADASTRO,LIMITICRED,CRED_LIBERADO
FROM Clientes WHERE NOME like :PNOME INTO
:NOME,:CPF_CGC,:TELEFONE,:CELULAR,:ENDERECO,:DATACADASTRO,:LIMITICRED,:CRED_LIBERADO DO
[b:0b23e7f0a1]SUSPEND;[/b:0b23e7f0a1]
END
ELSE
BEGIN
SELECT FANTASIA,CPF_CGC,TELEFONE,CELULAR,ENDERECO,DATACADASTRO,LIMITICRED,CRED_LIBERADO
FROM Clientes WHERE FANTASIA = :PNOME INTO
:NOME,:CPF_CGC,:TELEFONE,:CELULAR,:ENDERECO,:DATACADASTRO,:LIMITICRED,:CRED_LIBERADO DO
[b:0b23e7f0a1]SUSPEND;[/b:0b23e7f0a1]
END;
end
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)