Введение в стандарты языка баз данных SQL




Встроенный SQL


В стандарте SQL/92 гораздо более полно и точно, чем в SQL/89, описаны разделы языка модулей и встроенного SQL. Однако по смыслу мало что изменилось, а изложение очень громоздко. Поэтому мы ограничимся кратким обсуждением отсутствующего в SQL/89 описания правил встраивания SQL в язык программирования Си (кроме того, в стандарте специфицированы правила связывания с языками Ада, Кобол, Фортран, MUMPS, Паскаль и ПЛ/I).

Синтаксис встраивания для языка Си определяется следующими правилами:

<embedded SQL C program> ::= /* См. синтаксические правила ниже */ <C variable definition> ::= [ <C storage class> ] [ <C class modifier> ] <C variable specification> <semicolon> <C variable specification> ::= <C numeric variable> | <C character variable> | <C derived variable> <C storage class> ::= auto | extern | static <C class modifier> ::= const | volatile <C numeric variable> ::= { long short float double } <C host identifier> [ <C initial value> ] [ { <comma> <C host identifier> [ <C initial value> ] }... ] <C character variable> ::= char [ CHARACTER SET [ IS ] <character set specification> ] <C host identifier> <C array specification> [ <C initial value> ] [ { <comma> <C host identifier> <C array specification> [ <C initial value> ] }... ] <C array specification> ::= <left bracket> <length> <right bracket> <C host identifier> ::= /* См. синтаксические правила ниже */ <C derived variable> ::= <C VARCHAR variable> | <C bit variable> <C VARCHAR variable> ::= VARCHAR [ CHARACTER SET [ IS ] <character set specification> ] <C host identifier> <C array specification> [ <C initial value> ] [ { <comma> <C host identifier> <C array specification> [ <C initial value> ] }... ] <C bit variable> ::= BIT <C host identifier> <C array specification> [ <C initial value> ] [ { <comma> <C host identifier> <C array specification> [ <C initial value> ] }... ] <C initial value> ::= <equals operator> <character representation>...




Содержание  Назад  Вперед