procedures
Procurei mas não achei, tenho uma duvida sobre procedures.
eu achei esta procedure e queria que ela me retornase um parametro com um zero a esquerda, mas nunca usei um SP, alguem poderia me explicar??
queria fazer algo assim
select campo1, campo2 from tabela.
queria que o campo2 retornasse com zeros a esquerda.
como faço isso com a SP???
uso firebird 2.0 windows
COMMIT WORK;
SET AUTODDL OFF;
SET TERM ^ ;
/* Stored procedures */
CREATE PROCEDURE ´FU_STRZERO´
(
´WVAR´ VARCHAR(8192),
´WTAM´ INTEGER
)
RETURNS
(
´R_STRZERO´ VARCHAR(8192)
)
AS
BEGIN EXIT; END ^
ALTER PROCEDURE ´FU_STRZERO´
(
´WVAR´ VARCHAR(8192),
´WTAM´ INTEGER
)
RETURNS
(
´R_STRZERO´ VARCHAR(8192)
)
AS
declare variable wint integer;
begin
/*
Devolve WVAR com tamanho WTAM só que com zeros à esquerda
*/
select r_Len from Fu_Len(:wvar) into :wint;
wint = 255 - :wint;
select r_Replicate from Fu_Replicate(:wint, ´0´) into r_StrZero;
r_StrZero = r_StrZero || :wvar; -- 255 Bytes
select r_Sright from Fu_S_Right(:r_strzero, :wtam) into :r_strzero;
suspend;
end
^
SET TERM ; ^
COMMIT WORK;
SET AUTODDL ON;
eu achei esta procedure e queria que ela me retornase um parametro com um zero a esquerda, mas nunca usei um SP, alguem poderia me explicar??
queria fazer algo assim
select campo1, campo2 from tabela.
queria que o campo2 retornasse com zeros a esquerda.
como faço isso com a SP???
uso firebird 2.0 windows
COMMIT WORK;
SET AUTODDL OFF;
SET TERM ^ ;
/* Stored procedures */
CREATE PROCEDURE ´FU_STRZERO´
(
´WVAR´ VARCHAR(8192),
´WTAM´ INTEGER
)
RETURNS
(
´R_STRZERO´ VARCHAR(8192)
)
AS
BEGIN EXIT; END ^
ALTER PROCEDURE ´FU_STRZERO´
(
´WVAR´ VARCHAR(8192),
´WTAM´ INTEGER
)
RETURNS
(
´R_STRZERO´ VARCHAR(8192)
)
AS
declare variable wint integer;
begin
/*
Devolve WVAR com tamanho WTAM só que com zeros à esquerda
*/
select r_Len from Fu_Len(:wvar) into :wint;
wint = 255 - :wint;
select r_Replicate from Fu_Replicate(:wint, ´0´) into r_StrZero;
r_StrZero = r_StrZero || :wvar; -- 255 Bytes
select r_Sright from Fu_S_Right(:r_strzero, :wtam) into :r_strzero;
suspend;
end
^
SET TERM ; ^
COMMIT WORK;
SET AUTODDL ON;
Admin290
Curtidas 0