Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Вставка. Замена значения на идентификатор
|
|||
|---|---|---|---|
|
#18+
Приветствую всех форумчан. Прошу помощи в реализации следуюшего вида вставки: Внешний запрос на вставку вида: INSERT datatable (col1,col2,col3) VALUES ('firstname','lastname','Country') Еще существует таблица вида: | id | name | | 1 | Russia | | 2 | Latvia | | 3 | Austria | Собственно вопрос: Как построить SQL запрос на вставку, чтобы вместо 'Country' вставлялся идентификатор, а не значение. Т.е. чтобы: INSERT datatable (col1,col2,col3) VALUES ('Vladimir','Putin','Russia') превратилось в: INSERT datatable (col1,col2,col3) VALUES ('Vladimir','Putin','1') ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.08.2005, 08:21 |
|
||
|
Вставка. Замена значения на идентификатор
|
|||
|---|---|---|---|
|
#18+
Работу можно организовать так, что нужный id всегда известен и такой вопрос никогда не возникает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.08.2005, 09:10 |
|
||
|
Вставка. Замена значения на идентификатор
|
|||
|---|---|---|---|
|
#18+
Повесить триггер на INSERT, который будет выбирать значение из таблицы COUNTRIES и заменять название на идентификатор. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.08.2005, 09:58 |
|
||
|
Вставка. Замена значения на идентификатор
|
|||
|---|---|---|---|
|
#18+
Кувалдин РоманПовесить триггер на INSERT, который будет выбирать значение из таблицы COUNTRIES и заменять название на идентификатор.триггер это слишком. Написать хранимки, и не изгибхитряться писУя INSERT datatable (col1,col2,col3) VALUES ('Vladimir','Putin','Russia'); в таблицу с полями (text,text,int4) А вызывать SELECT f_insert_datatable ('Грозный','Ванья','Рашша'); , которая проверив наличие Рашша в списке вернет трую (вставив) или фальш (не вставив). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.08.2005, 10:28 |
|
||
|
Вставка. Замена значения на идентификатор
|
|||
|---|---|---|---|
|
#18+
тригер не поможет если col3 int и id int т.к. в инсерте на месте col3 будет varchar то запрос умрет с ошибкой на стадии подготовки и парсинга. в этом случае лучше написать функцию int CountryID(varchar); И вставлять как insert into ... (...,col3) value (...,CountryID('Russia')); полностью поддерживаю _Vlado индефикаторы хранить в varchara'х это неправильно... и вообще есть сомнения по поводу правильности такой структуры бд.. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.08.2005, 10:34 |
|
||
|
Вставка. Замена значения на идентификатор
|
|||
|---|---|---|---|
|
#18+
Ну вы даёте! Чел пытается подобно Трусу выдернуть нижний горшок из стопки, а вы советуете ему поддержать стопку ;) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.08.2005, 10:43 |
|
||
|
Вставка. Замена значения на идентификатор
|
|||
|---|---|---|---|
|
#18+
wbearтригер не поможет если col3 int и id int т.к. в инсерте на месте col3 будет varchar то запрос умрет с ошибкой на стадии подготовки и парсинга... руле, кааца, спасет отца р.д.. Но руле глючны по определению. wbear в этом случае лучше написать функцию int CountryID(varchar); И вставлять как insert into ... (...,col3) value (...,CountryID('Russia'));Можно и так, но, тады несложно ваще бэз функций: insert into ... (...,col3) valueS (...,(SELECT id FROM country WHERE name ='Russia' LIMIT 1)); (если не экономить на траффике) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.08.2005, 10:51 |
|
||
|
Вставка. Замена значения на идентификатор
|
|||
|---|---|---|---|
|
#18+
с IMMUTABLE функцией работать в большенстве случаев будет быстрее чем с селектом. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.08.2005, 14:37 |
|
||
|
Вставка. Замена значения на идентификатор
|
|||
|---|---|---|---|
|
#18+
wbearс IMMUTABLE функцией работать в большенстве случаев будет быстрее чем с селектом.низя, аяяй! (в этом контексте, думаеца). рази что STABLE ЗЫ: если же "зя!зя!зя!" - то почему (при каких условиях на содержимое "кантри")? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.08.2005, 15:49 |
|
||
|
|

start [/forum/topic.php?fid=53&tid=2007050]: |
0ms |
get settings: |
9ms |
get forum list: |
16ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
159ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
50ms |
get tp. blocked users: |
2ms |
| others: | 260ms |
| total: | 516ms |

| 0 / 0 |
