Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / IBM DB2, WebSphere, IMS, U2, etc Новый топик    Ответить
 Пользовательские процедуры на DB2 (последней версии) существуют?  [new]
Olga
Guest
Пользовательские процедуры на DB2 (последней версии) существуют?
Если да, то подскажите как будет выглядеть такое:

CREATE PROCEDURE spInsert
(
@Name varchar(100),
@Year int
)
AS

If Len(@Name) > 0
BEGIN
INSERT INTO Table (Name, Year)
VALUES (@Name, @Year)
END
_________________
Заранее благодарна
avvocato@mail.ru
12 июл 01, 08:57    [29851]     Ответить | Цитировать Сообщить модератору
 RE:Пользовательские процедуры на DB2 (последней версии) существуют?  [new]
petr13
Guest
у IBM весьма своеобразное представление о хранимых процедурах. Фактически это
самостоятельные процессы. Для их написания существует специальная тулза, которая позволяет
писать процедуры либо на 4GL, который потом транслируется в C, и требует наличия на сервере этого компилятора, либо на java, которая обычно есть. Кроме того есть еще тонкость
связанная с вариантами использования SQL динамический или статический. Например процедура
на java использующая динамический sql выглядит так
public class Ins1
{
public static void ins1 ( String Name,
int Year ) throws SQLException, Exception
{
// Get connection to the database
Connection con = DriverManager.getConnection("jdbc:default:connection");
PreparedStatement stmt = null;
String sql = "insert into table(Name,Year) values (?,?)";
if(Name.length() > 0){
stmt = con.prepareStatement( sql );
stmt.setString(1,Name);
stmt.setInt(2,Year);
stmt.executeUpdate();
con.commit();
}
if (stmt != null)stmt.close();
if (con != null) con.close();
}
}
2 авг 01, 02:00    [29852]     Ответить | Цитировать Сообщить модератору
Между сообщениями интервал более 1 года.
 Re: Пользовательские процедуры на DB2 (последней версии) существуют?  [new]
NewYear
Member

Откуда: Большой адронный коллайдер
Сообщений: 2203
4 petr13
???????????????????????????????????????????????????????
Что за тулза такая что на 4GL stored procedures пишет,
и которые потом транслируются в С?
???????????????????????????????????????????????????????
30 сен 02, 18:42    [59156]     Ответить | Цитировать Сообщить модератору
 Re: Пользовательские процедуры на DB2 (последней версии) существуют?  [new]
Gena G.
Member

Откуда: Oz
Сообщений: 977
Есть такие начиная с версии 6. Не слушайте петра13
7 окт 02, 13:51    [61514]     Ответить | Цитировать Сообщить модератору
 Re: Пользовательские процедуры на DB2 (последней версии) существуют?  [new]
petrofff
Member

Откуда:
Сообщений: 18
Тулза называется построитель хранимых процедур. Поставляется в составе пакета. А то что упоминает gena -
это не хранимые процедуры, это называется stored function
и они по своей сути весьма слабый суррогатт хранимых
процедур. А с тем что называется у IBM stored proctdure
дело обстоит именно так как я сказал. Так что слушайте
меня, и не слушайте genu. Вообще, что касается процедурной части DB2, то мы используем 3 вида объектов:
1) Функции определенные пользователем - пишем на С, используя "встроенный SQL", вернее писали, сейчас мы от этой практики отходим
2) Хранимые функции - своеобразный механизм, похожий на то, что есть у MS SQL, т.е. они вызываются в SQL запросе, но принципиальное отличие - нельзя использовать
процедурного языка при их написании, поэтому, называть их хранимыми процедурами ошибочно
3) Хранимые процедуры, вызываются через CALL, делаются в специальной приладе, есть 2 -их технологии написания,
a) процедурный язык, 4GL, котороый транслируется в Си,
и соотвественно требует наличия на сервере компилятора.
б) java, ну здесь вроде попроще, сейчас практически на любом сервере она есть, правда можно нарваться на проблему различных версий java.

Вот так примерно. Да, работаем мы на DB2 V7.2, платформы Windows и Linux. Весьма активно используем
механизм хранимых процедур, и черпаем все это добро даже не ложками, а лопатами
16 окт 02, 03:55    [64738]     Ответить | Цитировать Сообщить модератору
 Re: Пользовательские процедуры на DB2 (последней версии) существуют?  [new]
ggv
Member

Откуда:
Сообщений: 1810
2 petroff и другие --- есть и третий путь написания сохраненных процедур - собственно С и компиляция. В результате процедура способна на _любой_ подвиг :)
13 фев 03, 22:54    [128911]     Ответить | Цитировать Сообщить модератору
Все форумы / IBM DB2, WebSphere, IMS, U2, etc Ответить