sql >> Databasteknik >  >> RDS >> Mysql

är det möjligt att anropa ett sql-skript från en lagrad procedur i ett annat sql-skript?

Det finns en uppsättning kommandon som är inbyggda i mysql-klienten. De är dokumenterade under "mysql Kommandon ." Dessa inkluderar DELIMITER, SOURCE, HELP, CONNECT, USE, QUIT, etc.

\. (eller SOURCE ) kommandot är ett av dessa inbyggda program. Du kan inte köra dessa inbyggda kommandon programmatiskt eller inifrån en lagrad procedur.

Det skulle vara som att försöka köra ett UNIX-skal inbyggt från ett C-program med execl() .

En annan analogi kan vara i en webbläsare, där du kan skriva in särskilda önskemål som "about: " som hanteras av webbläsarappen själv; dessa resulterar inte i någon HTTP-förfrågan till en fjärrwebbplats.

Det skulle inte heller hjälpa om du kunde hämta ett skript från en lagrad procedur, eftersom skriptet i sig sannolikt innehåller ett gäng kommandon som är inbyggda mysql-klienter och därför inte kan köras av den lagrade proc.

Se även mina svar på dessa relaterade frågor:



  1. Exekvera SQL direkt; ingen markör., SQL-tillstånd 01000 i SQLExecDirect

  2. Gruppera efter - flera villkor - MySQL

  3. SQL Server:GROUP BY-sats för att få kommaseparerade värden

  4. Emoji-data hämtade via ODBC-anslutning visas som frågetecken