Existuje sada příkazů, které jsou zabudovány do klienta mysql. Jsou zdokumentovány pod "mysql
Příkazy
." Patří mezi ně DELIMITER, SOURCE, HELP, CONNECT, USE, QUIT atd.
\.
(nebo SOURCE
) je jednou z těchto vestavěných funkcí. Tyto vestavěné příkazy nemůžete spouštět programově ani z uložené procedury.
Bylo by to jako pokusit se spustit UNIXový shell vestavěný z programu C pomocí execl()
.
Jiná analogie může být ve webovém prohlížeči, kde můžete zadat speciální požadavky jako „about:
", které zpracovává samotná aplikace prohlížeče; nevedou k žádnému požadavku HTTP na vzdálený web.
Také by nepomohlo, kdybyste mohli zdroj skriptu z uložené procedury, protože skript sám o sobě pravděpodobně obsahuje spoustu příkazů, které jsou vestavěné mysql klientem, a proto je nemůže spustit uložený proc.
Viz také mé odpovědi na tyto související otázky:
- Spouštění souborů MySQL *.sql v PHP
- Načítání souborů .sql zevnitř PHP
- PHP:více SQL dotazů v jednom příkazu mysql_query