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

Jak vložit více řádků do jednoho SQL dotazu – otázka týdne #069

Na světě existuje mnoho různých databází a mnoho z nich používá pro programování jazyk SQL. Je velmi snadné předpokládat, že pokud používají SQL, můžeme snadno použít kód z jedné databáze do jiné databáze. Bohužel realita je velmi odlišná, ne všechny skripty z jedné databáze fungují v jiné databázi. Dnes uvidíme velmi zajímavou otázku, kde se uživatel zeptal na vložení více řádků do jednoho SQL dotazu.

Otázka: Napište kód SQL, který vloží více řádků do jednoho SQL dotazu. Podmínka pro tento skript byla taková, že by měl fungovat v SQL Server, MySQL a PostgreSQL bez změny jediného řádku kódu.

Odpověď: Napsat kód pro vložení více řádků do jednoho SQL dotazu není obtížný úkol, ale je skutečně výzvou vytvořit skript, který bude pracovat s více databázemi. Je však možné vytvořit skript, který bude fungovat ve více databázích.

Nejprve vytvořte vzorovou tabulku se dvěma sloupci. Jakmile je tabulka vytvořena, vložte tři různé řádky do jednoho SQL dotazu.

CREATE TABLE SampleTable (ID INT, Col1 VARCHAR(100));
INSERT INTO SampleTable (ID, Col1)
VALUES (1, 'One'), (2, 'Two'), (3, 'Three');
SELECT *
FROM SampleTable;
DROP TABLE SampleTable;

Nyní spustíme tento dotaz ve více databázích a uvidíme výsledek.

SQL Server

MySQL

PostgreSQL

To je vše. Tohle byla opravdu velmi zajímavá otázka. Jen abyste věděli, alternativně můžete také vytvořit SQL skript s pomocí UNION. Řešením, které bylo ukázáno v tomto dotazu, je však nová cesta.


  1. Concat skupiny v SQL Server

  2. Úvod do speciálních dotazů

  3. Otevření databáze Android Sqlite ve Fragmentu

  4. Proč jen statistika čekání nestačí