Fórum Criação de Stored Procedure #44307

14/05/2004

0

Estou precisando pela primeira vez criar uma Stored Procedure, só que acontece um erro e eu não consigo achar onde é.

SET TERM ^;

CREATE PROCEDURE SP_SUBTRAIPRODUTO(TABELA VARCHAR(12),
PRODUTO VARCHAR(15),NQUANT FLOAT) RETURNS(NEWQUANT FLOAT) AS

DECLARE VARIABLE ATUAL FLOAT;

BEGIN

   SELECT QUANTIDADE FROM :TABELA WHERE CODPRODUTO=:PRODUTO INTO :ATUAL;
   :NEWQUANT = :ATUAL-:NQUANT;
   UPDATE :TABELA SET QUANTIDADE=:NEWQUANT WHERE CODPRODUTO=:PRODUTO;
   COMMIT;
END^


Essa Procedure vai subtrair da tabela passada por parâmetro a quantidade que também vai ser passada por parâmetro. Pretendia passar a tabela por parâmetro porque o programa permite queo usuário crie quantos estoque ele quiser, logo na hora de executar a procedure eu passaria na tabela de qual estoque ele deve fazer as alterações.

Ps.: É possível passar a tabela na qual eu farei o select e o update por parâmetro? De qualquer maneira mesmo sem passar a tabela por parâmetro dá o mesmo erro:

ISC ERROR CODE:335544569

ISC ERROR MESSAGE:
Dynamic SQL Error
SQL error code = -104
Token unknown - line 5, char 27
:


bye!


Delphi32

Delphi32

Responder

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar