Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 15.07.2008, 23:51   #1
Только_Учусь
Пользователь
 
Регистрация: 15.07.2008
Сообщений: 23
По умолчанию Хранимые процедуры...

Здравствуйте!
у меня такая проблема...
мне дали задание - тестовое ,написать справочник, я почти все сделал...
не хватает операции вставки, удаление и изменение, реализованных в хранимых процедурах!(SQL-Servere2000) но я не разу с этим не сталкивался, не могли бы мне помоч? мне нужен код этой процедуры. Заранее Огромное Спасибо.
да и еще не могли бы мне подсказать где бы мне подробнее об этом почитать?, в какой лит-ре и если можно ссылку.
СПАСИБО!
Только_Учусь вне форума Ответить с цитированием
Старый 16.07.2008, 16:57   #2
edgy
Форумчанин
 
Регистрация: 15.06.2008
Сообщений: 271
По умолчанию

Лови пример:
Код:
create procedure dbo.NameProcedure
  /* Здесь идет список параметров, передаваемых в хранимую процедуру */
  @NewPersonIndex numeric( 9 ),
  @PersonIndex numeric( 9 ),
  @Surname varchar( 30 ),
  @FirstName varchar( 30 ),
  @Birthday datetime
as
begin
  /* Вставка новой записи 
     В качестве нового ID возьмем значение передаваемого параметра @NewPersonIndex */

  insert into Database_name.dbo.Person
            ( Database_name.dbo.Person.PersonId,
              Database_name.dbo.Person.Surname,
              Database_name.dbo.Person.FirstName,
              Database_name.dbo.Person.Birthday )
     values ( @NewPersonIndex, @Surname, @FirstName, @Birthday )

  /* Вставка новой записи с вычислением нового ID */
   
   -- Объявляем новую переменную и вычисляем максимальное значение id
   -- и прибавляем к нему единицу

   declare @NewPersonId numeric( 9 )
   set @NewPersonId = ( select max ( Database_name.dbo.Person.PersonId ) + 1
                              from Database_name.dbo.Person )

  insert into Database_name.dbo.Person
            ( Database_name.dbo.Person.PersonId,
              Database_name.dbo.Person.Surname,
              Database_name.dbo.Person.FirstName,
              Database_name.dbo.Person.Birthday )
     values ( @NewPersonId, @Surname, @FirstName, @Birthday )
   
   /* Обновление данных в таблице */

   update Database_name.dbo.Person
      set Database_name.dbo.Person.Surname = @Surname,
          Database_name.dbo.Person.FirstName = @FirstName,
          Database_name.dbo.Person.Birthdsay = @Birthday
    where Database_name.dbo.Person.PersonId = @PersonIndex

   /* Удаление данных из таблицы */

   delete
     from Database_name.dbo.Person
    where Database_name.dbo.Person.PersonId = @PersonIndex

   print 'Удачи! :)'

end
edgy вне форума Ответить с цитированием
Старый 17.07.2008, 06:06   #3
Только_Учусь
Пользователь
 
Регистрация: 15.07.2008
Сообщений: 23
По умолчанию

[B]СПАСИБО ОГРОМНОЕ!!!!!!!!!!!!!!!!!/B]
Только_Учусь вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
процедуры Killbrum Помощь студентам 5 10.06.2008 08:59
Блоб поля и хранимые процедуры yulia БД в Delphi 8 07.06.2008 16:42
Сложные SQL запросы или хранимые процедуры! Killer_djon БД в Delphi 17 25.03.2008 12:10
процедуры FIIR БД в Delphi 9 26.02.2008 11:26