Interbase 2009 Prepared Statement

_Vasilisk_
Дата: 16.07.2012 15:08:25
В базе есть табличка где хранятся SQL запросы, которые вытягивают клиенты. Проблема в том, что иногда эти запросы разбегаются с метаданными. Можно ли средствами SQL проверить компилируемость этих запросов? Т.е. нужно, что-то типа
FOR
  SELECT
    "SQL"
  FROM
    table1
  INTO
    :var_sql
DO
  PREPARE :var_sql;
проверка меня устроит как в процедуре, так и во внешнем скрипте. Сейчас кроме udf ничего в голову не приходит.

Еще раз подчеркну - версия сервера Interbase 2009

С уважением, Vasilisk
kdv
Дата: 16.07.2012 15:14:30
_Vasilisk_
Можно ли средствами SQL проверить компилируемость этих запросов?

нет. чтобы "скомпилировать" этот запрос нужно ему сделать prepare явно.
В чем проблема написать примитивное приложение, которое достает эти запросы из таблицы, и делает им prepare? В чем глубинный смысл попытки сделать это чьими-то руками? Сразу все проверить? В цикле перебирать записи на клиенте не получается? :-)
hvlad
Дата: 16.07.2012 15:17:43
_Vasilisk_
В базе есть табличка где хранятся SQL запросы, которые вытягивают клиенты.
Изобрёл хранимые процедуры\вью ?

_Vasilisk_
Проблема в том, что иногда эти запросы разбегаются с метаданными
И получил за это шваброй (с) Таблоид
Гаджимурадов Рустам
Дата: 16.07.2012 15:20:34

_Vasilisk_> Можно ли средствами SQL проверить компилируемость этих запросов?

Из коробки - нет. Поэтому либо делай соотв. проверку с клиента,
либо напиши UDF, которая делает Prepare и возвращает результат
(c текстом ошибки в случае ее наличия).

Posted via ActualForum NNTP Server 1.5

_Vasilisk_
Дата: 16.07.2012 15:21:54
kdv
нет
Спасибо
kdv
В чем проблема написать примитивное приложение
Есть уже скрипт, который доводит девелоперскую базу, до инсталляционной. Думал воткнуть проверку туда
Гаджимурадов Рустам
Дата: 16.07.2012 15:22:44

_Vasilisk_> Есть уже скрипт

Скрипт на чем? А-то если ibescript - то он такое умеет.

Posted via ActualForum NNTP Server 1.5

_Vasilisk_
Дата: 16.07.2012 15:22:49
Гаджимурадов Рустам
либо напиши UDF, которая делает Prepare и возвращает результат
Да вот так и думал сделать.
_Vasilisk_
Дата: 16.07.2012 15:23:27
Гаджимурадов Рустам
крипт на чем? А-то если ibescript - то он такое умеет.
Он самый. Как?
Гаджимурадов Рустам
Дата: 16.07.2012 15:27:17

Ну, на память я тебе не выдам название функции.
Посмотри в справке. Наверное, ibec_compare.

Posted via ActualForum NNTP Server 1.5

_Vasilisk_
Дата: 16.07.2012 15:45:30
Спасибо за пинок. Проблема теоретически решена

Решение здесь