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

PL/SQLでのブール値の使用

    dbms_output.put_line ブール引数を受け入れるためにオーバーロードされていません。あなたは次のようなことをすることができます

    dbms_output.put_line( case when exist = true 
                               then 'true'
                               else 'false'
                            end );
    

    ブール値を文字列に変換し、dbms_outputに渡すことができます。 。

    ORA-01422エラーは完全に別の問題です。関数checkEmpNo SELECT INTOが含まれています ステートメント

    SELECT emp_id 
      INTO emp_number
      FROM emp;
    

    SELECT INTO クエリが1行以外を返すと、エラーが生成されます。この場合、empに複数の行がある場合 テーブル、エラーが発生します。私の推測では、関数に次のようなことをさせたいと思います

    CREATE OR REPLACE FUNCTION checkEmpNo(p_eno number)
      RETURN boolean 
    IS
      l_count number;
    BEGIN
      SELECT count(*)
        INTO l_count
        FROM emp
       WHERE emp_id = p_eno;
    
      IF( l_count = 0 )
      THEN
        RETURN false;
      ELSE
        RETURN true;
      END IF;
    END checkEmpNo;
    


    1. 2つの区切り文字で文字列を分割し、タイプを変換します

    2. $ db =new PDO(mysql:host =$ host; db_name =$ db_name、$ user、$ pass);

    3. MYSQLは、LOADDATAINFILEを使用してcsvからデータをインポートします

    4. 関数を使用してmysqlを介してデータを取得し、選択ボックスで使用しますか?