В света има толкова много различни бази данни и много от тях използват езика SQL за своето програмиране. Много е лесно да се предположи, че ако те използват SQL, можем лесно да използваме код от една база данни в друга база данни. За съжаление реалността е много различна, не всички скриптове от една база данни работят в друга база данни. Днес ще видим много интересен въпрос, при който потребителят е задал въпрос относно вмъкването на няколко реда в една SQL заявка.
Въпрос: Напишете SQL код, който ще вмъкне няколко реда в една SQL заявка. Условието за този скрипт беше такова, че трябва да работи в SQL Server, MySQL и PostgreSQL, без да променя нито един редов код.
Отговор: Написването на код за вмъкване на множество реда в една SQL заявка не е трудна задача, но наистина е предизвикателство да създадете скрипт, който да работи с множество бази данни. Възможно е обаче да се създаде скрипт, който да работи в множество бази данни.
Първо, нека създадем примерна таблица с две колони в нея. След като таблицата е създадена, поставете три различни реда в една SQL заявка.
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;
Сега нека изпълним тази заявка в множество бази данни и да видим резултата.
SQL сървър
MySQL
PostgreSQL
Това е. Това наистина беше много интересен въпрос. Само за да знаете алтернативно, можете също да изградите SQL скрипта с помощта на UNION. Въпреки това, решението, което е демонстрирано в тази заявка, е новият начин.