Oracle
 sql >> Baza danych >  >> RDS >> Oracle

Jak mogę warunkowo skonstruować nazwę tabeli dla instrukcji SQL CREATE TABLE?

W Oracle składnia byłaby podobna do

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

Jednak to chyba naprawdę zły pomysł. Sześć miesięcy później będziesz chciał dodać kolumnę do tabeli i musisz ustalić, do których tabel musisz ją dodać.

Ponadto procedury składowane w Oracle wymagają stałej nazwy tabeli (istniejącej tabeli) lub musisz odwoływać się do wszystkiego za pomocą dynamicznego SQL, co jest uciążliwe.

Lepiej mieć pojedynczą tabelę klientów z atrybutem id_firmy. Następnie użyj dokładnej kontroli dostępu do bezpiecznego filtrowania według identyfikatora firmy, aby kontrolować, kto widzi jakie dane firmy.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Struktura i typy bloków Oracle PLSQL

  2. kursor w spuście

  3. Zarządzany sterownik ODP.NET nie wyświetla się w oknie dialogowym Źródło danych

  4. do czego służy oci_bind_by_name?

  5. Pytania dotyczące Oracle DBA w czasie rzeczywistym