firebird の SQL コードで使用される変数に値を代入したいと思います。MySQL コードは次のようになります。
SET @x = 1;
SELECT @x;
対応する Firebird-Code とは何ですか?
手伝ってくれてありがとう。
Firebird でユーザー定義のセッション固有の変数を定義するには、rdb$set_contextを使用できます。
MySql の例に対応する Firbird コードは次のようになります。
select rdb$set_context('USER_SESSION', 'x', 1) from rdb$database
select rdb$get_context('USER_SESSION', 'x') from rdb$database
ノート:
1.) 変数名は大文字と小文字が区別されることに注意してください。
2.) 内部変数値はデータ型で格納されるVARCHAR(255)
VARCHAR(255)
ため、 !!にキャストされます。
3.) 変数の最大数は 1000 です。
4.) 参照する必要はありませんrdb$database
:
select rdb$get_context('USER_SESSION', 'x') from some_table_name
同様に機能します。
私は Firebird の専門家ではありませんが、このようなものになると思います...
set term ^ ;
EXECUTE BLOCK
AS
DECLARE VARIABLE x int;
BEGIN
x = 1;
--do whatever you want with x, there's no such thing
--as to select the variable value to print it
END
^
set term ; ^