sql >> データベース >  >> RDS >> Mysql

mysql/oracleに保存された数式

    あなたが言っているのは、データベースに数式文字列を解析させたいということだと思います。たとえば、Oracleの場合は

    • 結果を含めるためにテーブルに列を追加します
    • 表の列の値と式のテキストを使用してPL/SQL関数を呼び出すupdateステートメントを実行します

      {table}を更新します。setformula_result=fn_calc_result(col1、col2、formula_column);

    PL / SQL関数は、「col1」や「col2」などをこれらの列の実際の値に置き換えることによって文字列を作成します。数式が一貫して記述されている限り、通常の式でそれを行うことができます。

    次に、

    を使用します
    execute immediate 'select '||{formula}||' from dual' into v_return;
    return v_return;
    

    結果を計算して返します。

    もちろん、独自のパーサーを作成することもできます。そのようにする場合は、操作の優先順位や括弧などを処理することを忘れないでください。



    1. SQL Serverは、ストアドプロシージャ内のvarcharをサイレントに切り捨てます

    2. SELECTクエリでのSQLServerLOCKSについて

    3. SQLCASEステートメント

    4. mySQLで640k行を更新しようとすると、クエリ中にMySQLサーバーへの接続が失われます