|
|
|
sqlca.sqlerrd[2]
|
|||
|---|---|---|---|
|
#18+
Имеем ОДИН запрос, состоящий из двух подзапросов. В первом инсертится запись. Во втором тоже инсертиться запись, но нужно id (serial) из первой записи. Как это сделать средствами SQL? Если возможно, то с примером. Спасибо! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.06.2005, 12:16 |
|
||
|
sqlca.sqlerrd[2]
|
|||
|---|---|---|---|
|
#18+
serg_snkИмеем ОДИН запрос, состоящий из двух подзапросов. В первом инсертится запись. Во втором тоже инсертиться запись, но нужно id (serial) из первой записи. Как это сделать средствами SQL? Если возможно, то с примером. Спасибо! Что значит, в запросе инсертится запись? У вас прописан триггер на селект? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.06.2005, 12:46 |
|
||
|
sqlca.sqlerrd[2]
|
|||
|---|---|---|---|
|
#18+
Имеем таблицу: client_email id :serial; email: lvarchar; test: lvarchar; и test client_id: integer; Что вроде INSERT INTO client_email (email, test) VALUES ('sergey@ua.fm', 'test'); INSERT INTO test(client_id) VALUES (sqlca.sqlerrd[2]); Возможно такое ??? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.06.2005, 13:08 |
|
||
|
sqlca.sqlerrd[2]
|
|||
|---|---|---|---|
|
#18+
Где выполняются эти два селекта? В хранимой процедуре? В клиентском приложении? В любом случае, триггер на инсерт в первую таблицу, ИМХО, логичнее.. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.06.2005, 13:32 |
|
||
|
sqlca.sqlerrd[2]
|
|||
|---|---|---|---|
|
#18+
В клиентском БЕЗ ХРАНИМЫХ и ТРИГЕРОВ. ТРИГЕРА НЕ КАТЯТ (в моем случае, там еще есть другая хаботня :) ) МОЖНО ЛИ ОБРАТИТЬСЯ К sqlca.sqlerrd[2] в SQL-е ??? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.06.2005, 14:10 |
|
||
|
sqlca.sqlerrd[2]
|
|||
|---|---|---|---|
|
#18+
serg_snk INSERT INTO client_email (email, test) VALUES ('sergey@ua.fm', 'test'); INSERT INTO test(client_id) VALUES (sqlca.sqlerrd[2]); ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.06.2005, 14:13 |
|
||
|
sqlca.sqlerrd[2]
|
|||
|---|---|---|---|
|
#18+
serg_snk INSERT INTO client_email (email, test) VALUES ('sergey@ua.fm', 'test'); INSERT INTO test(client_id) VALUES (sqlca.sqlerrd[2]); INSERT INTO client_email (email, test) VALUES ('sergey@ua.fm', 'test'); INSERT INTO test(client_id) VALUES (dbinfo('sqlca.sqlerrd1')); ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.06.2005, 14:15 |
|
||
|
sqlca.sqlerrd[2]
|
|||
|---|---|---|---|
|
#18+
У меня, на 7.31 ситуация вот такая - Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.06.2005, 14:38 |
|
||
|
sqlca.sqlerrd[2]
|
|||
|---|---|---|---|
|
#18+
Enlighten meУ меня, на 7.31 ситуация вот такая - Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. На десятке выдает: 0 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.06.2005, 11:39 |
|
||
|
sqlca.sqlerrd[2]
|
|||
|---|---|---|---|
|
#18+
serg_snkНа десятке выдает: 0 Не верю! (с) Станиславский! ;-)) Если выполняете "одним запросом", как вы в начале выразились, то вывод должен быть вот такой: Код: plaintext 1. 2. Код: plaintext 1. 2. Попробуйте выполнить в каком-нибудь sql-редакторе. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.06.2005, 11:52 |
|
||
|
sqlca.sqlerrd[2]
|
|||
|---|---|---|---|
|
#18+
Enlighten me serg_snkНа десятке выдает: 0 Не верю! (с) Станиславский! ;-)) Если выполняете "одним запросом", как вы в начале выразились, то вывод должен быть вот такой: Код: plaintext 1. 2. Код: plaintext 1. 2. Попробуйте выполнить в каком-нибудь sql-редакторе. Правда :) ЗАПРОС: create temp table a (id serial, note char(10)) with no log ; create temp table b (a_id int) with no log ; insert into a(note) values ('Value #1') ; --insert into b values(dbinfo('sqlca.sqlerrd1')) ; -- syntax error insert into b select dbinfo('sqlca.sqlerrd1') from systables where tabid = 1 ; select * from a ; select * from b; ВЫДАЕТ: Output 1 id Note 1 Value#1 Output 2 A id 0 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.06.2005, 12:07 |
|
||
|
sqlca.sqlerrd[2]
|
|||
|---|---|---|---|
|
#18+
Ладно не буду извращаться. id буду выгребать PHP-ой Будет два отдельных запроса... Всем спасибо :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.06.2005, 12:15 |
|
||
|
sqlca.sqlerrd[2]
|
|||
|---|---|---|---|
|
#18+
serg_snk На десятке выдает: 0 Не знаю, как там к 10, а к 9.21 я в своё время озаботился и выгреб с сайта полностью документацию в .pdf. Есть в книге "SQL Syntax" отдельный раздел "как получить id последней вставленной записи". В описании функции dbinfo. И всё работает. Что характерно. Кстати, в php ifx_getsqlca используется ровно эта же самая функция. И пример получения serial последней вставленной записи тоже есть... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.06.2005, 14:57 |
|
||
|
|

start [/forum/topic.php?fid=44&msg=33109257&tid=1609009]: |
0ms |
get settings: |
9ms |
get forum list: |
19ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
42ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
62ms |
get tp. blocked users: |
2ms |
| others: | 239ms |
| total: | 397ms |

| 0 / 0 |
