|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
17.12.2012, 14:57 | #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? А то он ругается, так как не знает из какой таблицы добавлять. |
17.12.2012, 15:34 | #2 |
Старожил
Регистрация: 25.02.2007
Сообщений: 4,159
|
у вас структура изначально неверна.....
... ну допустим добавите вы одну деталь из 1 табл, другую из следующей итд.... а как вы потом определите - что именно имелось ввиду в этом заказе? id деталей поддеталей и объектов если пересекаются.... ИМХО - проще 1 универсальную таблицу для всех объектов - и в зависимости от типа - набор свойств. А если совсем просто - то табл с заказами обязательно включать параметр ... напр type = 1 тогда из 1 табл...... тогда и запросы будет проще делать |
17.12.2012, 15:44 | #3 |
Регистрация: 12.12.2012
Сообщений: 8
|
Т.е. в каждую таблицу добавить поле type? да?
а как потом в запросе проверить этот параметр @type, чтоб добавлялось из нужной таблицы? |
17.12.2012, 15:52 | #4 |
Старожил
Регистрация: 25.02.2007
Сообщений: 4,159
|
нет... type - в таблицу заказов.. иначе вы не узнаете про какую таблицу.
По поводу выборки - тут наверное нужно CASE ом реализовывать процедуру... ну типа type = 1 то запрос один..... к одной таблице.... если type = 2 к другой |
17.12.2012, 16:28 | #5 |
Регистрация: 12.12.2012
Сообщений: 8
|
ааа, спасибо!
Если вам не трудно, можете показать на моем примере, как реализовать процедуру для одной таблицы... пожалуйста) |
18.12.2012, 07:46 | #6 |
Регистрация: 12.12.2012
Сообщений: 8
|
ADSoft, можно ли в запросе insert указывать определенную таблицу, из какой данные выбирать? если да, то как?
|
18.12.2012, 08:33 | #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 |