- •Распределенные базы данных.
- •Назначение, основные характеристики и компоненты клиент/серверных систем.
- •Преимущества клиент/серверных систем
- •Возможности ms sql .
- •Характеристики языка Transact-sql
- •Переменные,типы переменных в Transact-sql.
- •Типы переменных
- •Команда if…else Пример программы.
- •Команды delet, insert, update. Примеры программы. Синтаксис оператора insert
- •Синтаксис
- •Понятие хранимой процедуры. Пример программ.
- •Понятие транзакции. Пример программы.
- •Понятие триггера. Пример программ.
- •Объектно-ориентированное программирование в рнр-5.
- •Реализация наследования в php5.
- •Создание классов, атрибутов и операций в php-5.
- •Константы в классах
- •Статические атрибуты и методы
- •Создание экземпляра класса в рнр5.
- •Конструкторы и деструкторы в php-5. Вызов операций класса.
- •Классы в php-5 для работы с базами данных и их методы.Ответ в вопросе 14 и в 18.
- •Связь php с базой данных MySql
Переменные,типы переменных в Transact-sql.
Для сохранения промежуточных данных, хранимых в процедуре и функциях, используются переменные, имя которых должно начинаться с “@”.
Объявление переменных:
DECLARE @a Int , @c char(50)
Присвоение значений переменным:
1.использование ключевого слова SET:
DECLARE @name char(20)
SET @name = ‘Документ’
SET @=52867
2.С помощью команды SELECT:
DECLARE @a BIGIN ,@name char(20)
SELECT @name = ‘Документ’
SELECT @a = count (*)
FROM S
SELECT @a As N
С помощью SELECT можно присвоить несколько значений:
SELECT @a = 12 , @ name = ‘Справка’
3.Сочетание SET и запроса:
DECLARE @Z INT
SET @Z = (SELECT SUM(QTY) FROM SP) PRINT @Z
Типы переменных
CHAR; - NUMERIC;
VAR CHAR; - DECIMAL;
NUMBER; - DATE TIME;
MANY И ДР. - Таблица
При объявлении переменных типа NUMERIC и DECIMAL задается максимальное количество знаков:
DECLARE @a NUMERIC (10,2)
SELECT @a = 10.23 , @b = 100.3
DECLARE @b NUMERIC (10,1)
SELECT @a , @b , @a +@b = 110.53
Тип таблица:
DECLARE @t Table(S CHAR (5) , STATUS INT)
INSERT INTO @t (S, STATUS)
VALUES (‘S1’ , 10)
SELECT * FROM @t
Результат:
-
S #
STATUS
S1
10
Команда if…else Пример программы.
Имеет следующий вид:
IF Условие
Команда 1
Else
Команда 2
Если условие возвращает истинное значение (TRUE), то выполняется Команда 1. Если условие IF не удовлетворяется и логическое выражение возвращает FALSE, то выполняется Команда 2.
Проверки IF могут находиться внутри другого IF или следующего ELSE. Ограничение количества вложенных уровней зависит от свободной памяти.
Пример:
Проверка существования определенной записи в таблице S перед обновлением команды:
Declare @MyChar Char(5);
Set @MyChar=(Select S# From S Where S#=’S1’);
If @MyChar=’S1’
Print ‘Record find’;
Else
Print ‘record not found’:
BEGIN...END (Transact-SQL
Блок Begin…End включает в себя последовательность инструкций языка Transact-SQL, позволяя выполнять группу инструкций Transact-SQL. Ключевые слова BEGIN и END относятся к языку потока управления.
Синтаксические обозначения в Transact-SQL
Синтаксис
BEGIN
{
sql_statement | statement_block
}
END
Аргументы
{ sql_statement| statement_block }
Любая допустимая инструкция или группа инструкций языка Transact-SQL, определенная с помощью блока инструкций.
Замечания
Блоки BEGIN...END могут быть вложенными.
Хотя все инструкции языка Transact-SQL допустимы в пределах блока BEGIN...END, некоторые инструкции языка Transact-SQL не следует группировать вместе в пределах одного пакета (блока инструкций). Дополнительные сведения см. в разделе Пакеты и в разделах, посвященных использованию отдельных инструкций.
Пример
В
следующем примере ключевые
слова BEGIN
и END
определяют
ряд инструкций языка Transact-SQL, которые
будут выполняться вместе. Если не
включить блок BEGIN...END
, будут
выполнены оба оператора ROLLBACK
TRANSACTION
и возвращены оба
сообщения PRINT
.
USE AdventureWorks2008R2;
GO
BEGIN TRANSACTION;
GO
IF @@TRANCOUNT = 0
BEGIN
SELECT FirstName, MiddleName
FROM Person.Person WHERE LastName = 'Adams';
ROLLBACK TRANSACTION;
PRINT N'Rolling back the transaction two times would cause an error.';
END;
ROLLBACK TRANSACTION;
PRINT N'Rolled back the transaction.';
GO
/*
Rolled back the transaction.
*/