3

firebird の SQL コードで使用される変数に値を代入したいと思います。MySQL コードは次のようになります。

SET @x = 1;
SELECT @x;

対応する Firebird-Code とは何ですか?

手伝ってくれてありがとう。

4

2 に答える 2

4

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

同様に機能します。

于 2015-04-22T09:31:20.190 に答える
3

私は 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 ; ^
于 2013-03-21T22:19:04.107 に答える