|
Вопрос # 4 498/ вопрос открыт / |
|
Доброго времени.
Подскажите какое условие ставить триггеру на вставку, если на одном столбце используемой таблицы стоит ограничение unique, и имеются повторы. Таблица заливается программно из файла, убрать повторы нецелесообразно, с использованием ограничения программа вылетает на первом повторяющемся значении с ошибкой ...ограничение unique...не могу вставить повторяющийся ключ.
 |
Вопрос задал: Crash_net (статус: Посетитель)
Вопрос отправлен: 11 августа 2010, 16:09
Состояние вопроса: открыт, ответов: 0.
|
Мини-форум вопроса
Всего сообщений: 34; последнее сообщение — 13 сентября 2010, 15:44; участников в обсуждении: 3.
Страницы: [« Предыдущая] [1] [2]
|
Crash_net (статус: Посетитель), 7 сентября 2010, 11:34 [#21]:
написал *= все работет
|
|
Crash_net (статус: Посетитель), 7 сентября 2010, 13:28 [#22]:
а есть вариант поиска слова по всему представлению (таблице) не используя cursor ?
|
|
Вадим К (статус: Академик), 7 сентября 2010, 14:09 [#23]:
добавить ещё один where. Если нужно искать по части слова - тогда like.
Галочка "подтверждения прочтения" - вселенское зло.
|
|
Crash_net (статус: Посетитель), 8 сентября 2010, 01:45 [#24]:
написал все поля через AND, мэнэджере работает, но когда такой же запрос отправляю из Delphi ищет только по первому указанному полю, в чем проблема?
|
|
Вадим К (статус: Академик), 8 сентября 2010, 10:46 [#25]:
проблема в 17 строке второго файла.
то есть - код нужно показывать! Кто знает, что именно там написано.
Галочка "подтверждения прочтения" - вселенское зло.
|
|
Crash_net (статус: Посетитель), 8 сентября 2010, 14:21 [#26]:
примерно так:
select * from Table_x where (field1 = :param1)
or (field2 = :param1)
or ...
(так полей 10)
...param1.Value = Edit1.Text
try
sql.open;
except
end
в едите пишу %[искомое слово]%
|
|
Вадим К (статус: Академик), 8 сентября 2010, 14:38 [#27]:
рекомендую написать запрос самостоятельно, без параметров. Мне почему то кажется, что параметр раскрывается только один раз. Проверить можно так - в одно с полей записать значение ":param1" - если сработает для этого поля - значит моя гипотеза верна.
Цитата (Crash_net):
(так полей 10)
мне страшно смотреть на этот дизайн. это плохой симптом, если нужно так делать.
Галочка "подтверждения прочтения" - вселенское зло.
|
|
Crash_net (статус: Посетитель), 8 сентября 2010, 16:05 [#28]:
ставил значение :param1 в другие поля (не field1) возвращает пустую строку, т.е. как я понимаю гипотеза Ваша верна.
Без параметра не вариант, ...наверное придется курить мануал (declare cursor) нам поможет))
|
|
Вадим К (статус: Академик), 8 сентября 2010, 16:08 [#29]:
я даже не знаю, как declare cursor тут поможет.
Я лично всегда обходился без параметров. составлял запрос ручками - так есть полный контроль над запросом.
Галочка "подтверждения прочтения" - вселенское зло.
|
|
Crash_net (статус: Посетитель), 10 сентября 2010, 01:27 [#30]:
я не знаю как составить запрос на поиск нужного мне слова в представлении из приложения
|
|
Вадим К (статус: Академик), 10 сентября 2010, 10:33 [#31]:
с параметром умеем, а без - нет?
'select * from Table_x where (field1 = "'+edit1.text+'") or (field2 = "'+edit1.text+'")
or ...
(так полей 10)
обратите внимание - там одинарная и двойная кавычка.
Галочка "подтверждения прочтения" - вселенское зло.
|
|
Crash_net (статус: Посетитель), 13 сентября 2010, 15:16 [#32]:
да так работает, только приходится пиать ('Select...' + '''' + edit1.text + ''''+'...')
|
|
Crash_net (статус: Посетитель), 13 сентября 2010, 15:38 [#33]:
Мой очередной ворпос кажется будет немного сложнее, тем интереснее...
Извиняюсь за длину.
Есть две таблицы tbl1(n полей) и tbl2(m полей). Первое поле tbl2 name1 составляет набор слов (типа: ПВМ/Книга/Лопата и т.д.).
В tbl1 в некотором поле1 содержутся записи типа (Модернизированный ПВМ бла бла бла/ Книга о здоровом питании....).
Необходимо соединить таблицы tbl1 и tbl2 следующим образом: оставить все n значения tbl1 и присоединить m-1 значение tbl2 (т.е. кроме поля name1) причем соединять поля
при нахождении слова из tbl2.name1 в tbl1.поле1.
|
|
Crash_net (статус: Посетитель), 13 сентября 2010, 15:44 [#34]:
Пример
tbl1
------------------------------
| Лопата стальная|..|...|..|n|
tbl2
-----------------------------------------
| Лопата | Ручной инструмент | 111 | 222 |
Итог:
----------------------------------------------------------------------
| Лопата стальная|..|...|..| n | Ручной инструмент | 111 | 222 |
|
Страницы: [« Предыдущая] [1] [2]
Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.
|