INSERT INTO PERSONS VALUES ('PETROV', 'PETR', 'PETROVICH')
INSERT INTO PERSONS VALUES ('SIDOROV', 'SIDOR', 'SIDOROVICH')
/*
С помощью команды INSERT таблица PERSONS заполняется значениями. Т.к., первое поле таблицы имеет свойство IDENTITY, то значение для него генерируется автоматически, а потому не указывается в списке значений после ключевого слова VALUE. При этом не требуется задавать после имени таблицы список столбцов, для которых явно указаны значения в команде INSERT.
Для выполнения команды INSERT пользователь должен иметь привилегию db_datawriter доступа к базе данных, в которой находится искомая таблица.
*/
END
--ELSE
-- DROP TABLE PERSONS
/*
Если таблица SUBJECTS существует, то она уничтожается с помощью команды DDL DROP TABLE, для выполнения которой пользователь должен иметь привилегию db_ddladmin доступа к базе данных, в которой находится удаляемая таблица. Эту команду нельзя применять для таблиц, на которые идет ссылка в ограничении FOREIGN KEY ... REFERENCES (для удаления таких таблиц необходимо удалить ограничение FOREIGN KEY ... REFERENCES или таблицу, его содержащую).
*/
if NOT exists(select TABLE_NAME from INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'MARKS')
/*
Проверяется: существует ли выборка из представления TABLES, владельцем которого является пользователь INFORMATION_SCHEMA, поля TABLE_NAME, значения которого должно равняться MARKS. Для получения нужного значения поля TABLE_NAME используется команда DML SELECT. Для ее использования пользователь должен иметь привилегию db_datareader доступа к базе данных, которая содержит искомую таблицу.
Смысл этого оператора языка TSQL заключается в проверке того, существует ли таблица с именем MARKS. Если такая таблица не существует, то выполняется ее создание и наполнение данными.
*/
BEGIN
/*
Используются операторные скобки BEGIN...END, т.к., целый блок команд должен рассматриваться как единая группа команд.