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

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

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

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

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

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

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

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

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

Код:
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
Сообщений: 218
По умолчанию

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


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
серверные события в HTML5 LevonNikox Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 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