Форум программистов
 
Расширенный поиск
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

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

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



Ответ
 
Опции темы
Старый 06.05.2013, 09:07   #1
Ericnex
Форумчанин
 
Регистрация: 07.04.2010
Адрес: Норильск
Сообщений: 215
Репутация: 36

skype: ericnex1992
По умолчанию Серверные процедуры

Приведите примеры серверных процедур на вставку записи с учетом связи таблиц, изменение записи и удаление записи.

Сервер - MS SQL Server 2008R2
Ericnex вне форума   Ответить с цитированием
Старый 06.05.2013, 09:34   #2
eval
паяю
 
Регистрация: 29.08.2012
Сообщений: 4,030
Репутация: 422
По умолчанию

$100 .
eval вне форума   Ответить с цитированием
Старый 06.05.2013, 09:46   #3
Stilet
Белик Виталий :)
Профессионал
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Адрес: Украина, Донецкая область, г. Краматорск
Сообщений: 57,958
Репутация: 6799
По умолчанию

Код:

CREATE PROCEDURE ИмпортироватьМодель(@Model nvarchar(20))AS
begin

begin tran imp
-- Вносим модели---------------------------------------------------
print 'Вносим модели'
insert into MyNase2.dbo.Models (Naim)
select r.OBIZDCHTO
from MyNase.OIS_READY.relcomp r
left join MyNase2.dbo.Models m on(m.Naim=r.OBIZDCHTO)
where r.OBIZDKUDA=@Model
group by r.OBIZDCHTO,m.ID
having  m.ID is null
print 'Вносим Детали'
------- Вносим детали -------------------------------------------------------------
INSERT INTO [MyNase2].[dbo].[Parts]
           ([IDModel]
           ,[Обозначение]
           ,[Наименование]
           ,[Принадлежность]
           --,[Штуки]
           ,[Масса]
           ,[Формат]
           ,[Позиция]
           ,[Зона]
           ,[Примечание]
           ,[Файл]
           ,[Разработал]
           ,[Проверил]
           ,[техконтроль]
           ,[Утвердил]
           ,[Масштаб]
           ,[Лист]
           ,[Листов]
           ,[Материал])

				select distinct m1.ID as IDModel,
					  --Obizdchto as Применяемость,
					  Obkompchto as Обозначение,
					  --obkompkuda as Сборка,
					  Наименование=SUBSTRING(
					  case r.KPRIN
					   when 0 then ''--(select s.NAIM from COMP  left join snai01 s on KNAIKOMP=KNAIM where (obizd=r.obizdchto) and (OBKOMP=obkompchto))
					   when 1 then (select s.NAIM from MyNase.OIS_READY.COMP  left join MyNase.OIS_SPRAV.snai01 s on KNAIKOMP=KNAIM where (obizd=r.obizdchto) and (OBKOMP=obkompchto))
					   when 2 then (select nstizd from MyNase.OIS_SPRAV.snai02 where kstizd=r.OBKOMPCHTO)
					   when 3 then (select naim from MyNase.OIS_SPRAV.snai01 where knaim=r.kprin)
					   when 4 then (select SMAT01.NAIM from MyNase.OIS_SPRAV.SMAT01 where (SMAT01.kmat=OBKOMPCHTO))
					   when 5 then (select SMAT01.NAIM from MyNase.OIS_SPRAV.SMAT01 where (SMAT01.kmat=OBKOMPCHTO))
					  end,1,100),
					  --exname as "Дополнительное Наименование",
					  Принадлежность=
					  case r.prizsl
					   when 1 then 666
					   else kprin
					  end ,
					  --Vid as Вид,
					 -- Kolkomp as Штуки,
					  Kolkomp1 as Кг,
					  formatp as Формат,
					  Posp as Позиция,
					  Zonep as Зона,
					  Prim as Примечание,
						 NULL as Файл,
						 NULL as Разработал,
						 NULL as Проверил,
						 NULL as техконтроль,
						 NULL as Утвердил,
						 NULL as Масштаб,
						 NULL as Лист,
						 NULL as Листов,
						 NULL as Материал
					 from MyNase.OIS_READY.RELCOMP r
						  --join MyNase.dbo.models m on (m.Модель=@Model)and(r.[Код Модели]=m.id)
						  --left join MyNase.dbo.Кс on (Кс.Код=r.Код)
						  left join MyNase2.dbo.Models m1 on (m1.Naim=r.OBIZDCHTO)
					where (YEAR(r.DATEOUT)=3000)and(r.OBIZDKUDA=@Model)
--------- Вносим Коды в KS -------------------------------------------------------------------
print 'Вносим Коды и связываем по сборкам'
  /*  insert into MyNase2.dbo.KS
					select distinct
					  --Obizdchto as Применяемость,
					  m1.ID as IDModel,
					  --obkompkuda as Сборка,
					  p2.ID,
					  --Obkompchto as Обозначение,
					  p.ID as IDPart,
					  r.Kolkomp,					  null,null
					 from MyNase.OIS_READY.RELCOMP r
						  --join MyNase.dbo.models m on (m.Модель='1К660Ф3')and(r.[Код Модели]=m.id)
						  --left join MyNase.dbo.Кс on (Кс.Код=r.Код)
						  left join MyNase2.dbo.Models m1 on (m1.Naim=r.OBIZDCHTO)
						  left join MyNase2.dbo.Parts p on (p.IDModel=m1.ID)and(p.Обозначение=r.OBKOMPCHTO)
						  left join MyNase2.dbo.Parts p2 on /*(p2.IDModel=m1.ID)and*/(p2.Обозначение=r.OBKOMPKUDA)
					where (YEAR(r.DATEOUT)=3000)and(r.OBIZDKUDA=@Model)	*/

		insert into MyNase2.dbo.KS (IDModel,IDAsm,IDPart,Штуки)
			select distinct
			 --r.OBIZDCHTO
			  m0.ID as IDModel
			 --,r.obkompkuda
			  ,pTo.ID as IDAsm
			 --,r.OBKOMPCHTO
			  ,pWhat.ID as IDPart
			  ,r.KOLKOMP					  0,SYSDATETIME()
			from MyNase.OIS_READY.RELCOMP r
			 left join MyNase2.dbo.Models m0 on m0.Naim=r.OBIZDKUDA
			 left join MyNase2.dbo.Models m on m.Naim=r.OBIZDCHTO
			 left join MyNase2.dbo.Parts pTo on (pTo.IDModel=m.ID)and(pTo.Обозначение=r.OBKOMPKUDA)
			 left join MyNase2.dbo.Parts pWhat on (pWhat.IDModel=m.id)and(pWhat.Обозначение=r.OBKOMPCHTO)
			where (YEAR(r.DATEOUT)=3000)and(r.OBIZDKUDA=@Model)
------------ Вносим материал ------------------------------------------
print 'импортируем материал'
insert into Материалы (name)
 select distinct substring(Naim,1,100) from MyNase.ois_sprav.smat01
-----------------------------------------------------------------------
commit tran imp
end

Годится?
__________________
I'm learning to live...
Stilet вне форума   Ответить с цитированием
Старый 06.05.2013, 11:22   #4
Ericnex
Форумчанин
 
Регистрация: 07.04.2010
Адрес: Норильск
Сообщений: 215
Репутация: 36

skype: ericnex1992
По умолчанию

Мне кажется что это слишком сложно. Я правильно понял здесь только на вставку?
Ericnex вне форума   Ответить с цитированием
Ответ



Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
серверные события в HTML5 LevonNikox Assembler 0 31.12.2012 02:19
Серверные обработчики HTML-форм Artem_Kokos HTML и CSS 1 04.10.2012 09:25
Клиент-серверные приложения. weech Помощь студентам 1 21.08.2012 22:53
Клиент-серверные приложения _Troy Работа с сетью в Delphi 0 29.09.2011 17:51




05:26.


Powered by vBulletin® Version 3.8.8 Beta 2
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.

купить трафик


как улучшить посещаемость, а также решения по монетизации сайтов, видео и приложений

RusProfile.ru


Справочник российских юридических лиц и организаций.
Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru