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

MySQL – MariaDB – Psaní úplně první uložené procedury

Jak mnozí z vás vědí, jsem velkým fanouškem oblasti ladění výkonu SQL Server a většinu času trávím spoluprací s klientem na různých projektech ladění výkonu SQL Server. Nejlepší na mé práci je, že každý den pracuji s novým klientem na mém oblíbeném tématu Komplexní kontrola výkonu databáze . Nedávno jsem se při práci s klientem na systému dostal do velmi zajímavé situace, kdy jsem musel napsat uloženou proceduru ve třech různých programovacích jazycích MySQL, MariaDB a SQL Server. I když pro mě bylo snadné napsat uloženou proceduru na SQL Server, zjistil jsem, že pro MariaDB a MySQL je třeba znát trochu syntaxe, aby bylo možné napsat úplně první uloženou proceduru.

Cílem tohoto blogového příspěvku je poskytnout šablonu pro každého, kdo chce napsat svou úplně první uloženou proceduru pomocí MariaDB nebo MySQL.

Podívejme se, jak můžeme napsat uloženou proceduru v MariaDB a MySQL. Upozorňujeme, že uložená procedura nemusí přijímat žádný parametr a také neinteraguje s žádnou databázovou tabulkou. Když jej spustíme, vrátí hodnotu 1.

-- Change the delimiter
DELIMITER //
-- Create the stored procedure
CREATE OR REPLACE PROCEDURE FirstProc()
BEGIN
SELECT 1 AS OurResult;
END
//
-- Change back the delimiter
DELIMITER ;
-- Call the stored procedure
CALL FirstProc();
-- remove the stored procedure
DROP PROCEDURE FirstProc;

No, to je vše. Úspěšně jsme vytvořili naši uloženou proceduru.

Za zmínku stojí, že v MariaDB a MySQL musíte při vytváření uložené procedury zadat závorku () za názvem uložené procedury. Není však potřeba závorek, když rušíme uloženou proceduru.

Pokud se chcete začít učit MariaDB nebo MySQL, zde je odkaz, kde se o nich můžete dozvědět více:

  • Základy MySQL 1
  • Základy MySQL 2
  • Začínáme s MariaDB

Dejte mi vědět, pokud máte nějaké dobré triky pro SQL Server, rád je zveřejním na blogu s patřičným uznáním.


  1. Počítejte řádky za hodinu na serveru SQL Server s plnou hodnotou data a času

  2. Django:Stůl neexistuje

  3. Zjistěte, zda byl řádek aktualizován nebo vložen

  4. Postgres Query Plan, proč je odhad řádku tak špatný