Dumpfile/outfile do pliku o nazwie z bazy

0

Czy jest jakiś sposób by zrobić dumpfile/outfile do pliku o nazwie pobieranej z bazy, czyli np.:
Select smth from table into dumpfile (select plik from pliki where type='..')

gdzie: select plik from pliki where type='..'
na pewno zwróci tylko jeden wiersz tekstu?

Aktualnie ciągle wychodzi mi błąd, wskazując na cały nawias.

1

Jaki błąd? Składnia to raczej SELECT bla, bla INTO DUMPFILE 'plik' FROM tabela. Ale nie wiem czy pozwoli Ci na użycie subquery w tym miejscu. Spróbuj użyć dynamicznego SQL.

Tutaj niby jest jakieś rozwiązanie: http://stackoverflow.com/questions/1186749/how-to-format-file-name-of-outfile-or-dumpfile

Jaka baza? MSSQL ograniczenie do jednego wiersza SELECT TOP 1 plik FROM pliki WHERE ...

0

No tak.
Z tego linku co podesłałeś wynika, nie można robić czegoś takiego w jednym zapytaniu.
Zaciekawiłem się też czemu nawet nie można podać stringa w innej formie (ot choćby hex)
select 1 into dumpfile 0x12345678 (poprawna ścieżka)
też wraca błąd:
"You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '0x12345678' at line 1

Wie ktoś z czego to wynika?

1

Bo tak jest wymaganie w specyfikacji.

file_path can be an absolute path, or a relative path starting from the data directory. It can only be specified as a string literal, not as a variable. However, the statement can be dynamically composed and executed as a prepared statement to work around this limitation.

https://mariadb.com/kb/en/mariadb/documentation/sql-commands/data-manipulation/select-into-dumpfile/

1 użytkowników online, w tym zalogowanych: 0, gości: 1