Microsoft SQL Server, PostgreSQL, Базы данных

Триггер на групповую вставку в таблицу в Microsoft SQL Server

Многие СУБД (например, MySQL, PostgreSQL и т.д.) умеют правильно обрабатывать события по групповой вставке данных в таблицы. Но не все. Например, триггер на групповую вставку в таблицу в Microsoft SQl Server будет отличаться. Рассмотрим примеры запросов:

[pastacode lang=»sql» manual=»insert%20into%20people%0Aselect%20name%2C%20surname%2C%20age%20from%20portfolio%3B» message=»» highlight=»» provider=»manual»/]

Или такой:

[pastacode lang=»sql» manual=»insert%20into%20people(name%2C%20surname%2C%20age)%20values%0A(‘John’%2C%20’Smith’%2C%2012)%2C%0A(‘Ann’%2C%20’Black’%2C%2029)%2C%0A(‘Samantha’%2C%20’Doeson’%2C%2038)%3B» message=»» highlight=»» provider=»manual»/]

Продолжить чтение «Триггер на групповую вставку в таблицу в Microsoft SQL Server»

Microsoft SQL Server, PostgreSQL

Функция, возвращающая таблицу returns table — в PostgreSQL и MS SQL Server

Хочу сегодня привести примеры создания функций для СУБД Microsoft SQL Server и PostgreSQL. Функция возвращает таблицу с 3-мя полями.

Как это пишется в MS SQL Server:

[pastacode lang=»sql» manual=»CREATE%20FUNCTION%20dbo.myFunction%20(%3Cvariables%20list%3E)%0ARETURNS%20%40result_table%20TABLE(field1%20integer%2C%20field2%20integer%2C%20field3%20integer)%20%0AAS%0ABEGIN%0A%20%20%20%20insert%20into%20%40result_table%20%0A%09select%20val1%2C%20val2%2C%20val3%20from%20another_table%3B%0A%09return%3B%0AEND» message=»Функция в Microsoft SQL Server» highlight=»5,6,7″ provider=»manual»/]

А вот так в PostgreSQL:

[pastacode lang=»sql» manual=»CREATE%20OR%20REPLACE%20FUNCTION%20public.get_count_in_batch(%3Cvariabls%20list%3E)%0A%20%20%20%20RETURNS%20TABLE(field1%20integer%2C%20field2%20integer%2C%20field3%20integer)%20%0A%20%20%20%20LANGUAGE%20’plpgsql’%0A%0A%20%20%20%20COST%20100%0A%20%20%20%20VOLATILE%20%0A%20%20%20%20ROWS%201000%0AAS%20%24BODY%24%0Abegin%0A%09return%20query%20select%20val1%2C%20val2%2C%20val3%20from%20another_table%3B%0Aend%3B%0A%24BODY%24%3B» message=»Функция в PostgreSQL» highlight=»10″ provider=»manual»/]

Конечно, здесь примеры сокращены до минимума, только лишь с целью показать механизм возврата результата. Продолжить чтение «Функция, возвращающая таблицу returns table — в PostgreSQL и MS SQL Server»