![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 5 Pomógł: 0 Dołączył: 8.05.2007 Ostrzeżenie: (0%) ![]() ![]() |
Proszę o pomoc z zapytaniem, które ma wygenerować skrypt do pliku. W skrypcie tym zapiszą sie wszystkie "create table" jakie mam w bazie.
Nie wiem co sie dzieje w niektórych liniach kodu.
|
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 4 Pomógł: 0 Dołączył: 20.06.2008 Ostrzeżenie: (0%) ![]() ![]() |
Proponuję zamiast tego długiego zapytania:
SELECT 'CREATE TABLE '||Table_name||'( ' "S", COLUMN_NAME||' '||DATA_TYPE|| DECODE(CHAR_COL_DECL_LENGTH,NULL,'','('||CHAR_COL_DECL_LENGTH||')')||DECODE(DATA_PRECISION,NULL,'','('||DATA_PRECISION||')') || DECODE(NULLABLE,'N',' NOT NULL')|| DECODE(COLUMN_ID,(SELECT MAX(COLUMN_ID) FROM User_tab_columns WHERE table_name=K.table_name),');',',') "KOLUMNY" --COLUMN_ID wskazuje na pozycję kolumn. W kolumnie o ostatnim COLUMN_ID dla danej tabeli dekodujemy numer na znak ');' FROM User_tab_columns K WHERE table_name IN ('PRACOWNICY','FIRMA,'FUNKCJE','DOSTAWCY','PRODUCENT'); wstawić, to krótkie: SELECT DBMS_METADATA.get_ddl ('TABLE', table_name) FROM user_tables; efekt końcowy będzie na pewno lepszy (IMG:http://forum.php.pl/style_emoticons/default/guitar.gif) |
|
|
![]() ![]() |
![]() |
Aktualny czas: 23.08.2025 - 21:33 |