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

SQL CREATE TABLEステートメントのテーブル名を条件付きで作成するにはどうすればよいですか?

    Oracleでは、構文は次のようになります

    BEGIN
      EXECUTE IMMEDIATE 'CREATE TABLE CUSTOMER_'||v_company_id||' (..)';
    END;
    

    しかし、これはおそらく本当に悪い考えです。 6か月後には、テーブルに列を追加し、どのテーブルに追加する必要があるかを判断する必要があります。

    また、Oracleのストアドプロシージャには(既存のテーブルの)固定テーブル名が必要です。そうでない場合は、動的SQLを介してすべてを参照する必要があります。これは面倒です。

    company_idを属性として持つ単一のcustomerテーブルを持つことをお勧めします。次に、 Fine Grained AccessControl> company_idを安全にフィルタリングして、誰がどの会社のデータを見るかを制御します。



    1. PHPでHTTP認証を使用し、入力したデータをデータベースに対して実行するにはどうすればよいですか?

    2. 文字列オラクルから日付形式を抽出する方法

    3. JDBCデータソースレベルでOracleから返される行数を制限するにはどうすればよいですか?

    4. SELECT LAST_INSERT_ID()は、プリペアドステートメントを使用した後に0を返します