Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Введение в СУБД HyTech.doc
Скачиваний:
11
Добавлен:
01.03.2025
Размер:
2.67 Mб
Скачать

Использование генератора

После старта сервера существующие генераторы устанавливаются в нулевые значения. Если генератор надо установить в другое значение, то это можно будет сделать, например, в стартовом файле, например, вставив в него следующие операторы, приведенные в примере.

Пример: Установить начальное значение 100 для генератора с именем genREADER.

var @i = 100;

set generator genREADER to @i;

Пример: вставить информацию в таблицу READER с использованием генератора для атрибута RNUM.

drop generator genREADER; create generator genREADER; delete from READER; insert into READER (   FNAME,   MNAME,   LNAME,   WORKPLACE,   RNUM,   BIRTHDATE,   BOOKCOUNT,   DEPOSIT ) values (   'Артур',   'Демьянович',   'Пирожков',   'ТНТ',   'П' + char(gen_id('genREADER', 10)),   date('12.03.1985'),   0,   150.00 ); fix READER; select    FNAME     as FNAME,    WORKPLACE as WORK,    RNUM      as RID from   READER;

Рисунок 1. Результат выборки данных, вставленных с помощью генератора

4. Процедурные расширения sql диалекта субд HyTech

Дается описание процедурных расширений SQL диалекта СУБД HyTech. Рассматриваются практические приемы построения и оптимизация SQL запросов.

4.1 Лексические элементы языка Лексические элементы - зарезервированные слова

HyTech поддерживает встроенный процедурный язык (процедурное расширение языка SQL). Программа на встроенном языке HyTech представляет собой строки символов, состоящие из лексических элементов пяти типов:

  • Зарезервированные (ключевые) слова;

  • Константы;

  • Операции;

  • Ограничители;

  • Идентификаторы.

Смежные элементы отделяются друг от друга разделителями или комментариями. Разделители состоят из пробелов, символов табуляции, возврата каретки, перевода строки.

Язык также позволяет документировать программы посредством однострочных и многострочных комментариев.

Зарезервированные слова

Зарезервированные слова нельзя использовать в качестве идентификаторов и имен объектов СУБД. Поскольку компилятор различает строчные и прописные буквы, зарезервированные в языке слова должны задаваться точно так, как они перечислены ниже:

admin

datasource

if

on

smallint

after

dec

immediate

open

statement

all

decimal

in

option

sum

alter

declare

inc

or

system_user

and

default

index

order

table

any

deferrable

initially

out

temporary

as

deferred

inout

outrange

then

asc

delete

inrange

pack

time

avg

desc

insert

position

timestamp

before

diff

instead

precision

to

begin

do

integer

privileges

trigger

between

drop

intersect

procedure

union

bit

each

interval

profile

unlock

break

else

into

public

update

browse

end

is

quit

usage

by

event

like

real

user

cascade

execute

likecase

references

value

cascaded

exists

local

rename

values

character

external

lock

restrict

var

close

fix

max

results

varchar

collate

for

min

return

variable

commit

from

minus

revoke

varying

connect

function

national

role

verify

continue

generator

nchar

rollback

where

count

global

new

row

while

create

grant

not

select

with

current

group

null

session_user

work

current_user

having

numeric

set

cursno

identify

old

sizeof