CREATE PROCEDURE TEST
AS
DECLARE VARIABLE b smallint;
DECLARE VARIABLE NMax integer;
DECLARE VARIABLE CN VARCHAR(255);
DECLARE VARIABLE TCN VARCHAR(255);
BEGIN
b=0;
NMax=GEN_ID(NEW_MSG,0)-1;
if (NMax>=0) then
begin
Select F_GN from t_data_msg where (F_NUM=:NMax) into :CN;
if (SubStr(CN,7,1)='?') then
begin
b=1;
CN=strstuff(CN,7,1,'_');
end
if (SubStr(CN,8,1)='?') then
begin
b=1;
CN=strstuff(CN,8,1,'_');
end
if (b=1) then
begin
TCN='';
/*!!! А тут уже нет, хотя CN, вроде, такой же...*/
Select F_GN from T_USB_LIST where (F_GN like :CN) into :TCN;
if (TCN<>'') then
begin
Update t_data_msg set F_GN=:TCN where (F_NUM=:NMax);
end
end
end
END |