![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Регистрация: 12.12.2012
Сообщений: 8
|
![]()
Здравствуйте!
Необходимо добавить запись в таблицу "Заявка". Поле "Номер_изделия" присоединяется сразу к полям 3х таблиц, т.е мне нужно добавить либо из таблицы "Объект", либо из "Деталь", либо из "Поддетали". Вот мой запрос ALTER PROCEDURE [dbo].[dob_zaya] @nom_zakaza int, @nom_izd int, @kolvo int AS BEGIN INSERT INTO zayavka (nom_zakaza,nom_izd,kolvo) VALUES (@nom_zakaza,@nom_izd,@kolvo) END Можно ли запрос изменить так, чтобы, например, из Delphi в SQL Server приходил параметр @flag, по значению которого можно было выбирать данные либо из 1ой таблицы, либо из 2, либо из 3? А то он ругается, так как не знает из какой таблицы добавлять. |
![]() |
![]() |
![]() |
#2 |
Старожил
Регистрация: 25.02.2007
Сообщений: 4,184
|
![]()
у вас структура изначально неверна.....
... ну допустим добавите вы одну деталь из 1 табл, другую из следующей итд.... а как вы потом определите - что именно имелось ввиду в этом заказе? id деталей поддеталей и объектов если пересекаются.... ИМХО - проще 1 универсальную таблицу для всех объектов - и в зависимости от типа - набор свойств. А если совсем просто - то табл с заказами обязательно включать параметр ... напр type = 1 тогда из 1 табл...... тогда и запросы будет проще делать |
![]() |
![]() |
![]() |
#3 |
Регистрация: 12.12.2012
Сообщений: 8
|
![]()
Т.е. в каждую таблицу добавить поле type? да?
а как потом в запросе проверить этот параметр @type, чтоб добавлялось из нужной таблицы? |
![]() |
![]() |
![]() |
#4 |
Старожил
Регистрация: 25.02.2007
Сообщений: 4,184
|
![]()
нет... type - в таблицу заказов.. иначе вы не узнаете про какую таблицу.
По поводу выборки - тут наверное нужно CASE ом реализовывать процедуру... ну типа type = 1 то запрос один..... к одной таблице.... если type = 2 к другой |
![]() |
![]() |
![]() |
#5 |
Регистрация: 12.12.2012
Сообщений: 8
|
![]()
ааа, спасибо!
Если вам не трудно, можете показать на моем примере, как реализовать процедуру для одной таблицы... пожалуйста) |
![]() |
![]() |
![]() |
#6 |
Регистрация: 12.12.2012
Сообщений: 8
|
![]()
ADSoft, можно ли в запросе insert указывать определенную таблицу, из какой данные выбирать? если да, то как?
|
![]() |
![]() |
![]() |
#7 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
![]()
Есть такая форма INSERT-а: INSERT INTO Table1 SELECT ...
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Запрос на добавление | =Student= | БД в Delphi | 5 | 12.09.2010 21:39 |
Запрос на добавление | Grushka | Microsoft Office Access | 3 | 03.05.2010 10:00 |
Запрос на добавление | Insightful | Microsoft Office Access | 9 | 30.04.2010 18:17 |
Добавление (запрос) | warshadow | Microsoft Office Access | 8 | 23.10.2009 01:15 |
запрос на добавление | William | Microsoft Office Access | 3 | 13.07.2007 22:00 |