問題タブ [mysql-variables]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
mysql - out パラメータを使用せずにストアド プロシージャの出力を変数にキャッチする
次の手順を検討してください。
編集するとcall
、次のように出力されます。
しかし、 が別のgetFoo
ストアド プロシージャ内で呼び出された場合、次のように、その結果の内容を変数に取り込むにはどうすればよいでしょうか?
これは、呼び出されると次のエラーを出力します。 sqlMessage: "FUNCTION db.getFoo does not exist"
パラメータに関連する利用可能なオプションは認識していますout
が、それらは私の問題に対する実行可能な解決策ではありません。
義務
getFoo
変更できません。norSELECT
を含まないステートメントの結果を出力します。variables
parameters
私が試したこと
残念ながら、すべてエラーが出力されます。
set @foo = exec getFoo();
set @foo = call getFoo();
select getFoo() into @foo;
call getFoo() into @foo;
mysql - この MySQL クエリはどのように NULL を返すことができますか?
nid
とvid
は両方とも正の整数でstatus
、0 または 1 のいずれかです。
last_status
どのようにして-- になるのか完全に途方にNULL
暮れていますが、確かにそうです。
MySQL のマニュアルには次のように書かれています。
expr1 が TRUE (expr1 <> 0 および expr1 <> NULL) の場合、IF() は expr2 を返します。それ以外の場合は expr3 を返します。
まあ、最初は反復@last_nid
は等しくありませんnid
。なぜなら、一方が負で、もう一方が正だからです。したがって、0 が返されます。はい、@last_status
ここでは NULL ですが、返すことはできません。次に、0 または 1 のいずれか@last_status
の値を入力します。status
以降の反復では、@last_status
再び NULL になることはありません。
それでも、圧倒的多数の行には NULL があります@last_status
-@last_status
初期値を指定してもそれは起こりませんが、これは私の考えと私のクエリが偽物であることを意味しますが、なぜ/どのように?
sql - SQL の WHERE 句で列を動的に呼び出す方法
列名が宣言された変数の値と一致するテーブル内の列を呼び出す方法を見つけようとしています。この例では、Tbl_B には「DPS_201911」、「DPS_201910」、「DPS_201909」などの DPS_YYYYMM というラベルが付いた列があります。@Var に一致する指定された YYYYMM について、Tbl_B から正しい列を呼び出す方法を見つける必要があります。助けていただけますか?
キャンペーン_ID | DPS_201911 | DPS_201910 |
---|---|---|
1 | 345 | 123 |
mysql - AGAINST のパラメーターとして mysql 変数を使用する
LOAD DATA INFILE ステートメントを使用して Excelsheet からデータをフェッチし、データベースに保存する前に結果を評価しようとしています。MATCH() AGAINST() を使用しているときに、Excel のフィールドの 1 つを AGAINST() 関数の mysql 変数として AGAINST(@column4) のように渡すことができるようにする必要がありますが、機能していません。
コードは次のようになります。