Fórum Update dentro de SP avaliando o resultado #60103
13/08/2008
0
Alguém sabe como posso fazer um update (registro a registro) numa SP e parar caso tenha um determinado resultado?
Tentei:
CREATE PROCEDURE Atualiza (Valor integer)
RETURNS (MeuValor integer)
AS
DECLARE VARIABLE nlabel INTEGER;
DECLARE VARIABLE nvezes INTEGER;
DECLARE VARIABLE nlimite INTEGER;
BEGIN
FOR SELECT t.label, t.vezes, t.limite FROM tabela t INTO :nlabel, :nvezes, :nlimite FOR update AS CURSOR mycurs DO
BEGIN
UPDATE tabela SET t.label = t.label + 1 WHERE CURRENT OF mycurs;
IF (t.vezes > t.limite) THEN
BEGIN
MeuValor = nlabel;
BREAK;
END
END
END
Ou seja, quero incrementar um campo e testar se deu um determinado resultado, caso afirmativo paro de atualizar os restantes.
Tentei:
CREATE PROCEDURE Atualiza (Valor integer)
RETURNS (MeuValor integer)
AS
DECLARE VARIABLE nlabel INTEGER;
DECLARE VARIABLE nvezes INTEGER;
DECLARE VARIABLE nlimite INTEGER;
BEGIN
FOR SELECT t.label, t.vezes, t.limite FROM tabela t INTO :nlabel, :nvezes, :nlimite FOR update AS CURSOR mycurs DO
BEGIN
UPDATE tabela SET t.label = t.label + 1 WHERE CURRENT OF mycurs;
IF (t.vezes > t.limite) THEN
BEGIN
MeuValor = nlabel;
BREAK;
END
END
END
Ou seja, quero incrementar um campo e testar se deu um determinado resultado, caso afirmativo paro de atualizar os restantes.
Oldprogramer
Curtir tópico
+ 0
Responder
Clique aqui para fazer login e interagir na Comunidade :)