sql >> Databáze >  >> RDS >> Mysql

je možné volat skript SQL z uložené procedury v jiném skriptu SQL?

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:



  1. savepoint commit rollback v mysql

  2. Použití IF EXISTS s CTE

  3. Najděte průsečíky mezi řádky a časovými razítky v mysql db

  4. Použití vazebných proměnných s dynamickou klauzulí SELECT INTO v PL/SQL