- •Глава 1. Базы данных
- •Глава 2. Работа с visual foxpro
- •Глава 3. Работа в среде ms sql server 2000
- •Глава 1. Базы данных
- •1.1.2 Отношения между атрибутами
- •1.1.4 Операции над таблицами
- •1.1.5 Триггеры, ограничения и правила
- •6 Хранимые процедуры
- •1.4.1 Необходимость нормализации
- •1.4.2 Первая и вторая нормальные формы
- •1.4.3 Третья нормальная форма
- •Глава 2. Работа с visual foxpro
- •2.1.3 Создание отношений между таблицами
- •2.1.4 Операции над таблицами
- •2.1.5 Программные prg-файлы и процедуры
- •2.1.6 Совместное использование программных файлов, формы и меню
- •2.2.1 Описание визуальных компонентов
- •2.3.1 Классы объектов
- •2.3.2 Создание панели инструментов
- •Использование классов для связи с word,excel и другими приложениями foxpro
- •2.4 Соединения, курсоры, представления
- •2.4.2 Работа с курсорами и представлениями
- •Сквозные sql-запросы
- •2.5 Клиент-серверные приложения foxpro
- •2.5.1 Создание, регистрация и использование серверов автоматизации
- •2.5.2 Конфигурирование клиентов
- •2.5.1 Создание , регистрация и использование серверов автоматизации
- •Замечание. При регистрации в реестр записывается полный путь к файлу сервера автоматизации. Поэтому при переносе сервера на другое место регистрацию нужно провести повторно.
- •Здесь myservfpro представляет имя сервера (exe-файла или dll-файла). Myserv – представляет имя класса, где описан сервер автоматизации. GetName() представляет метод, описанный в классе myserv .
- •2.5.2 Конфигурирование клиентов
- •2.6 Создание отчетов
- •3.1.2 Добавление пользователей
- •3.1.3 Создание и связывание таблиц
- •3.1.3 Создание представлений
- •3.2 Язык transact-sql
- •3.2.1 Основы программирования
- •3.2.2 Функции
- •3.2.3 Хранимые процедуры
- •3.2.4 Использование курсоров
- •3.2.5 Системные хранимые процедуры
- •3.2.6 Связь foxpro и sql server
- •3.3 Утилита query analyser
- •В окне редактора кода можно формировать и выполнять sql-команды, создавать и запускать хранимые процедуры, триггеры, представления и пр. Например, рассмотрим результат выполнения запроса:
- •3.4 Установка и администрирование sql server
3.2.2 Функции
Рассмотрим важные встроенные функции языка T-SQL. Некоторые из функций представляют собой глобальные значения (переменные), имени которых предшествует два знака @.
@@MAX_CONNECTIONSвозвращает максимальное число соединений, одновременно поддерживаемых сервером.
@@MAX_PRECISIONопределяет максимальное число знаков в представлении числовых данных типа numeric.
@@SERVERNAMEвозвращает имя сервера.
@@CURSOR_ROWSзадает количество записей, выбранных в курсор.
@@FETCH_STATUSустанавливает результат последней выполненной командыFETCH:
0 – успех;
-1 – неудача, связанная с попыткой выборки строки, выходящей за пределы курсора;
-2 – неудача, связанная с попыткой выборки недоступной строки.
@@ERROR– номер ошибки для последней командыT-SQL.
@@LANGIDзадает идентификатор текущего языка.
@@LANGUAGEопределяет название текущего языка.
@@IDENTITYвозвращает последнее вставленное значение в поле Счетчика.
ABS(числовое_выражение) возвращает абсолютную величину аргумента.
CEILING(числовое_выражение) определяет наименьшее целое, большее либо равное аргументу.
CHAR(целое_выражение) получает символASCIIпо его номеру.
CHARINDEX(str1,str,num) – возвращает номер подстрокиstr1 в строкеstr, начиная с позиции с номеромnum. Если подстрока не найдена, результатом является 0.
COALESCE(s1,s2,…,sn) возвращает первый из аргументов, не равныйNULL.
COL_LENGTH(имя_таблицы, имя_столбца) возвращает ширину столбца таблицы
COL_NAME(имя_таблицы, номер_столбца) – имя столбца в таблице.
DATABASEPROPERTY(база, свойство) задает информацию о свойстве БД.
DATALENGTH(str) указывает целое число символов в выраженииstr1, не считая хвостовых пробелов.
DAY(выражение_дата) формирует целое число, определяющее день месяца.
DEGREES(число) преобразует указанное число радиан в градусы.
EXP(число) определяет экспоненту данного числа.
FLOOR(выражение) – наибольшее целое, меньшее либо равное заданной величине.
GETDATE() – системная дата и время.
HOST_NAME() указывает имя сетевой ЭВМ, на которой выполняется процесс.
ISDATE(выражение) возвращает 1, если выражение корректно определяет дату.
ISNUMERIC(выражение) возвращает 1, если выражение является числовым.
ISNULL(выражение1, выражение2) возвращает в качестве значения выражения1 выражение2 при условии, что выражение1 имеет текущее значениеNULL. В качестве выражения1 обычно используют имя столбца таблицы.
LEFT(str,num) возвращает строку, полученную из левыхnumсимволов строкиstr.
LEN(str) – длина строкиstrбез учета завершающих пробелов.
LOG(x) определяет натуральный логарифм величиныx.
LOWER(str) возвращает строку, полученную из строкиstrпреобразованием в нижний регистр.
LTRIM(str) удаляет ведущие пробелы в строкеstr.
MONTH(дата) определяет номер месяца по дате в виде целого числа.
NEWID() создает новое уникальное значение идентификатора записи.
POWER(base,man) возводит основаниеbasв степеньman.
RADIANS(x) преобразует указанноеxчисло градусов в радианы.
RAND() получает случайное число от 0 до 1. Можно задавать числовой аргумент, используемый для инициализации генератора случайных чисел.
REPLACE(str1,str2,str3) заменяет в строкеstr1 все вхождения строкиstr2 на строкуstr3.
REPLICATE(str1,n) возвращает строку, полученнуюn-кратным повторением строкиstr1.
REVERSE(str) размещает строку в обратном порядке.
RIGHT(str,n) возвращает подстроку строкиstr, состоящую изnпоследних символов строкиstr1.
ROUND(x,n1,n2) – округляет числоx, оставляя в немn1 цифр. Еслиn2=0, тоROUNDне округляет, а отбрасывает цифры.
RTRIM(str) удаляет завершающие пробелы в строкеstr.
SIGN(целое_выражение) возвращает 1 для положительных чисел, 0 – для нуля и –1 – для отрицательных чисел.
SPACE(n) формирует строку, состоящую изnпробелов.
SQRT(x) извлекает корень квадратный из числовой величиныx.
STR(числовое_выражение,n,m) формирует строковое выражение из заданного числового выражения, используяnв качестве общего числа цифр иm– в качестве числа цифр в дробной части. Значенияnиmможно не указывать.
STUFF(str1,n,m,str2)mсимволов строкиstr1, начиная с символа с номеромn, заменяются на строкуstr2.
SUBSTRING(str,n,m) возвращает подстроку строкиstr, начиная с символаnи включаяmпоследовательно стоящих символов.
SYSTEM_USER– имя текущего пользователяSQLсервера.
UNICODE(str) определяетUNICODEпервого символа строкиstr.
UPPER(str) возвращает строку, полученную изstrпереводом ее символов в верхний регистр.
USER() – имя текущего пользователя.
USERID() – идентификатор пользователя.
YEAR(дата) определяет по дате значение года.