Subject [firebird-support] Re: Restore with Firebird 2.5
Author Svein Erling Tysvær
I cannot help you with your original problem, Michael, but why don't you change your procedure to something like:

SET TERM ^^ ;
CREATE PROCEDURE DK_UPPER (
IN_P VarChar(30))
returns (
OUT_P VarChar(30))
AS
DECLARE VARIABLE TSTR VARCHAR(30);
begin
OUT_P || Upper(In_P collate DA_DA); //Assuming DA_DA is the Danish equivalent of NO_NO
End ^^
SET TERM ; ^^

I tried something similar [SELECT UPPER('äøå' COLLATE DA_DA) FROM RDB$DATABASE] on Firebird 1.5 on a database defined with character set ISO8859_1.

HTH,
Set

-----Original Message-----
From: firebird-support@yahoogroups.com [mailto:firebird-support@yahoogroups.com] On Behalf Of Michael Vilhelmsen
Sent: 26. februar 2009 14:55
To: firebird-support@yahoogroups.com
Subject: [firebird-support] Re: Restore with Firebird 2.5

Should say that deleting the comment solves my problem....


Then I have another procedure.

SET TERM ^^ ;
CREATE PROCEDURE DK_UPPER (
IN_P VarChar(30))
returns (
OUT_P VarChar(30))
AS
DECLARE VARIABLE TSTR VARCHAR(30);
DECLARE VARIABLE II INTEGER;
begin
ii = 0;
TStr = '';
while (ii <= strlen(in_p)) do
begin
if (substr(in_p,ii,ii) IN ('ø','æ','å')) then
begin
if (substr(In_P,ii,ii)='ø') then
begin
Tstr = Tstr || 'Ø';
end
if (substr(In_P,ii,ii)='æ') then
begin
Tstr = Tstr || 'Æ';
end
if (substr(In_P,ii,ii)='å') then
begin
Tstr = Tstr || 'Å';
end
end
else
begin
Tstr = Tstr || Upper(substr(In_P,ii,ii));
end
ii = ii + 1;
end
Out_P = TStr;
suspend;
end
^^
SET TERM ; ^^



This I cant restore as well.