Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2003.07.28;
Скачать: [xml.tar.bz2];

Вниз

Изменение хранимой процедуры   Найти похожие ветки 

 
Сергей Ч   (2003-07-07 12:01) [0]

Добрый день! Хочу изменить хранимую процедуру из своего приложения. Использую IBQuery. При ExecSQL ругается на строчку "SELECT XX FROM XXX INTO :TMP" видимо считая :TMP параметром. Помогите, как это можно сделать?


 
Alexandr   (2003-07-07 12:07) [1]

paraMCheck:=false


 
Zacho   (2003-07-07 12:07) [2]

TIBQuery.ParamCheck:=false; - решит эту проблему


 
Edward   (2003-07-07 12:10) [3]

Что значит: Хочу изменить хранимую процедуру из своего приложения? :TMP - это параметр, до ExecSQL ему нужно присвоить значение. Все переменные с двоеточием будут являться параметрами. А если изменить процедуру надо: ALTER PROCEDURE.


 
Edward   (2003-07-07 12:13) [4]

IBQuery2.SQL.Clear;

IBQuery2.SQL.Add("INSERT INTO COUNTRY (NAME, CAPITAL, POPULATION)");
IBQuery2.SQL.Add("VALUES (:Name, :Capital, :Population)");

IBQuery2.Params[0].AsString := "Lichtenstein";
IBQuery2.Params[1].AsString := "Vaduz";
IBQuery2.Params[2].AsInteger := 420000;
IBQuery2.ExecSQL;


 
Zacho   (2003-07-07 12:17) [5]


> Edward (07.07.03 12:10)

В данном случае :TMP - это не параметр запроса, а переменная в хранимой процедуре. ParamCheck:=false нужно именно для выполнения запросов DDL (а не DML с параметрами !), в которых могут встречаться конструкции, синтаксически аналогичные параметрам, но на самом деле таковыми не являющимися.


 
Edward   (2003-07-07 12:27) [6]

Понятно, это текст хранимой процедуры, не сразу сообразил, что он спрашивает, спасибо Zacho © (07.07.03 12:17), за подробное объяснение сути вопроса! :-))


 
Сергей Ч   (2003-07-07 13:23) [7]

Zacho © (07.07.03 12:07)
TIBQuery.ParamCheck:=false; - решит эту проблему

Попробовал - выдаёт ошибку XSQLDA index out of range



 
Zacho   (2003-07-07 13:30) [8]


> Сергей Ч (07.07.03 13:23)

Черт знает, должно работать. Возможно, баг в твоей версии IBX, попробуй поставить последнюю (или наоборот, одну из предидущих). Еще попробуй вместо TIBQuery использовать TIBSQL, хотя по идее должно быть то же самое.


 
Сергей Ч   (2003-07-07 13:33) [9]

C TIBSQL тоже самое


 
Johnmen   (2003-07-07 14:10) [10]

>Сергей Ч

То есть, делается попытка выполнить с помощью IBQuery такую команду ALTER PROCEDURE .... ?
Не пройдет. Т.к. Available in DSQL, and isql.
И второй момент - в IBX имеют место глюки, в частности с областью XSQLDA. Про это можно почитать на ibase.ru (если не запамятовал...:))


 
Zacho   (2003-07-07 14:21) [11]


> Johnmen © (07.07.03 14:10)
> То есть, делается попытка выполнить с помощью IBQuery такую
> команду ALTER PROCEDURE .... ?
> Не пройдет. Т.к. Available in DSQL, and isql.

То есть работать все-таки должно. По крайней мере на BDE с TQuery работало у меня отлично, а вот на IBX не пробовал, уже несколько лет все изменения метаданных делаю только скриптами. Но по идее должно и в IBX работать, так что наиболее вероятно - баг в IBX.


 
Сергей Ч   (2003-07-07 14:39) [12]

Спасибо всем! после апдэйта IBX заработало с TIBSQL



Страницы: 1 вся ветка

Форум: "Базы";
Текущий архив: 2003.07.28;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.006 c
3-91680
Rulja
2003-07-07 12:24
2003.07.28
ApplyUpdates


1-91716
Jedi
2003-07-14 14:28
2003.07.28
Доступ к property на встроенном asm


3-91666
Солер
2003-07-05 10:39
2003.07.28
Как посчитать сумму в столбце?


14-91828
3APA3A
2003-07-10 16:04
2003.07.28
Форум по HTML


14-91910
AZ
2003-07-11 07:42
2003.07.28
Файлы *.gfx





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский