Der er et sæt kommandoer, der er indbygget i mysql-klienten. De er dokumenteret under "mysql
Kommandoer
." Disse omfatter DELIMITER, SOURCE, HELP, CONNECT, USE, QUIT osv.
\.
(eller SOURCE
) kommando er en af disse indbyggede. Du kan ikke udføre disse indbyggede kommandoer programmæssigt eller fra en lagret procedure.
Det ville være som at prøve at køre en UNIX-skal indbygget fra et C-program ved hjælp af execl()
.
En anden analogi kan være i en webbrowser, hvor du kan indtaste særlige anmodninger som "about:
", der håndteres af selve browserappen; disse resulterer ikke i nogen HTTP-anmodning til et eksternt websted.
Det ville heller ikke hjælpe, hvis du kunne hente et script fra en lagret procedure, fordi selve scriptet sandsynligvis indeholder en masse kommandoer, der er indbyggede mysql-klienter, og derfor ikke kan køres af den lagrede proc.
Se også mine svar på disse relaterede spørgsmål:
- Kører MySQL *.sql-filer i PHP
- Indlæser .sql-filer indefra PHP
- PHP:flere SQL-forespørgsler i én mysql_query-sætning