|
|
|
Возможен ли в FB 1.5.1 запрос Insert + Select???
|
|||
|---|---|---|---|
|
#18+
Пусть есть таблица test. В Oracle можно реализовать следующий SQL запрос на клиенте: Код: plaintext 1. А в FB такое возможно??? Код: plaintext 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.08.2004, 07:08:41 |
|
||
|
Возможен ли в FB 1.5.1 запрос Insert + Select???
|
|||
|---|---|---|---|
|
#18+
получить то что хочешь? поподробнее... а то что-то с утра туго соображаю :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.08.2004, 07:15:46 |
|
||
|
Возможен ли в FB 1.5.1 запрос Insert + Select???
|
|||
|---|---|---|---|
|
#18+
srf2000получить то что хочешь? ID вставленной записи в запросе insert-а, без дополнительного запроса select и это все на клиенте ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.08.2004, 07:19:46 |
|
||
|
Возможен ли в FB 1.5.1 запрос Insert + Select???
|
|||
|---|---|---|---|
|
#18+
получи значение генератора из клиента и его вставляй в новую запись... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.08.2004, 07:23:38 |
|
||
|
Возможен ли в FB 1.5.1 запрос Insert + Select???
|
|||
|---|---|---|---|
|
#18+
srf2000получи значение генератора из клиента и его вставляй в новую запись... Не понял??? Уточню, сейчас выполняю запросы: 1) Делаю insert 2) Получаю ID вставленной записи В Oracle это все реализуется в одном запросе ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.08.2004, 07:31:08 |
|
||
|
Возможен ли в FB 1.5.1 запрос Insert + Select???
|
|||
|---|---|---|---|
|
#18+
автор CREATE GENERATOR myGen CREATE TRIGGER myTrg FOR myTab ACTIVE BEFORE INSERT POSITION 0 AS BEGIN IF (new.myFld IS NULL) THEN new.myFld = GEN_ID(myGen, 1); END CREATE PROCEDURE myPrc RETURNS (myFld INTEGER) AS BEGIN myFld = GEN_ID(myGen, 1); END При добавлении из клиента myFld будет автоматически заполняться из myGen если не задано. (В этом случае это поле ExternalCalc) Или сам его береш из myPrc... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.08.2004, 07:34:46 |
|
||
|
Возможен ли в FB 1.5.1 запрос Insert + Select???
|
|||
|---|---|---|---|
|
#18+
ololПри добавлении из клиента myFld будет автоматически заполняться из myGen если не задано. (В этом случае это поле ExternalCalc) Или сам его береш из myPrc... Посмотрите пример для реализации поставленной задачи в Oracle - ЭТО ОДИН ЕДИНСТВЕННЫЙ ЗАПРОС Генератор есть, ключевое поле тоже, триггер тоже, а ХП мне ВАЩЕ не нужна ради ДВУХ ЗАПРОСОВ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.08.2004, 07:40:10 |
|
||
|
Возможен ли в FB 1.5.1 запрос Insert + Select???
|
|||
|---|---|---|---|
|
#18+
1. получи значение генератора. 2. сделай инсерт в чем проблема то? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.08.2004, 07:43:17 |
|
||
|
Возможен ли в FB 1.5.1 запрос Insert + Select???
|
|||
|---|---|---|---|
|
#18+
srf2000в чем проблема то? Еще раз повторю: нужно в одном SQL-запросе это сделать (и insert и select)!!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.08.2004, 07:44:52 |
|
||
|
Возможен ли в FB 1.5.1 запрос Insert + Select???
|
|||
|---|---|---|---|
|
#18+
автор Если хочеш одним запросом то сделай ХП которая будет вставлять записи, присваивая полям данные и возвращать ее ID. Может тебе еще нужно что-то типа: insert into test (pole) values('значение') IN CREATE TABLE... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.08.2004, 07:56:45 |
|
||
|
Возможен ли в FB 1.5.1 запрос Insert + Select???
|
|||
|---|---|---|---|
|
#18+
ololЕсли хочеш одним запросом то сделай ХП которая будет вставлять записи, присваивая полям данные и возвращать ее ID. Уж лучше тоды я 2 запроса на клиенте напишу olol Может тебе еще нужно что-то типа: insert into test (pole) values('значение') IN CREATE TABLE... Нет, таким гемором не занимаюсь... возможно пока ))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.08.2004, 08:00:34 |
|
||
|
Возможен ли в FB 1.5.1 запрос Insert + Select???
|
|||
|---|---|---|---|
|
#18+
в одном не сделаешь ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.08.2004, 08:03:49 |
|
||
|
Возможен ли в FB 1.5.1 запрос Insert + Select???
|
|||
|---|---|---|---|
|
#18+
> wolverin А что, триггера Before insert на поле ID в табл. test нет? если есть то вообще не нужно ничего руками выбирать/вставлять в ID ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.08.2004, 09:26:29 |
|
||
|
Возможен ли в FB 1.5.1 запрос Insert + Select???
|
|||
|---|---|---|---|
|
#18+
wolverin srf2000получи значение генератора из клиента и его вставляй в новую запись... Не понял??? Уточню, сейчас выполняю запросы: 1) Делаю insert 2) Получаю ID вставленной записи В Oracle это все реализуется в одном запросе То как ты написал в первом посте - это ДВА запроса (одним делается по другому). Скорее всего компоненты доступа позволяли в одном Query (компонент и запрос разные вещи!) выполнять скрипт, т.е. несколько запросов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.08.2004, 09:39:11 |
|
||
|
Возможен ли в FB 1.5.1 запрос Insert + Select???
|
|||
|---|---|---|---|
|
#18+
СерегаТо как ты написал в первом посте - это ДВА запроса (одним делается по другому). Скорее всего компоненты доступа позволяли в одном Query (компонент и запрос разные вещи!) выполнять скрипт, т.е. несколько запросов. Уважаемый Вы с Oracle и расширением PL-SQL знакомы??? Если нет, то первый пример - это ОДИН ЗАПРОС , и компоненты доступа тут ваще не причем. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.08.2004, 09:53:59 |
|
||
|
Возможен ли в FB 1.5.1 запрос Insert + Select???
|
|||
|---|---|---|---|
|
#18+
Сейчас в FB нет выполнения блока операторов. Поэтому то, что ты хочешь, сделать нельзя. Соответственно есть два решения. Либо через SP, либо выдергивать значение генератора на клиента, а затем вставлять его. Это, кстати, автоматом реализовано в таких компонентах доступа как IBX и FIBPlus (по поводу других - не в курсе). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.08.2004, 10:16:30 |
|
||
|
Возможен ли в FB 1.5.1 запрос Insert + Select???
|
|||
|---|---|---|---|
|
#18+
ЛентяйСейчас в FB нет выполнения блока операторов. Спасибо, буду искать другие варианты ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.08.2004, 10:32:44 |
|
||
|
Возможен ли в FB 1.5.1 запрос Insert + Select???
|
|||
|---|---|---|---|
|
#18+
А ещё в оракле есть INSERT ... RETURNING и что ? ;) В следующей версии FB будет возможность выполнять анонимные PSQL блоки (уже реализовано) и INSERT ... RETURNING (ещё не реализовано, но планируется). Сейчас нужно или писать процедуру, или сначала дёргать генератор, а потом вставлять запись. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.08.2004, 10:37:50 |
|
||
|
Возможен ли в FB 1.5.1 запрос Insert + Select???
|
|||
|---|---|---|---|
|
#18+
А такой вариант не катит? Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.08.2004, 10:43:25 |
|
||
|
Возможен ли в FB 1.5.1 запрос Insert + Select???
|
|||
|---|---|---|---|
|
#18+
wolverinВ Oracle можно реализовать следующий SQL запрос на клиенте: Код: plaintext 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.08.2004, 10:46:43 |
|
||
|
Возможен ли в FB 1.5.1 запрос Insert + Select???
|
|||
|---|---|---|---|
|
#18+
Погарячился я, ему ж идентификатор надо получить.. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.08.2004, 10:49:38 |
|
||
|
Возможен ли в FB 1.5.1 запрос Insert + Select???
|
|||
|---|---|---|---|
|
#18+
hvladВ следующей версии FB будет возможность выполнять анонимные PSQL блоки. Кто такие??? Может у вас есть Тынц??? hvladКстати - это достаточно кривой код, можно огрести - и оракле не спасёт ;) Чем код криФ хотел бы узнать, если не сложно??? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.08.2004, 11:13:29 |
|
||
|
Возможен ли в FB 1.5.1 запрос Insert + Select???
|
|||
|---|---|---|---|
|
#18+
wolverinУважаемый Вы с Oracle и расширением PL-SQL знакомы??? Если нет, то первый пример - это ОДИН ЗАПРОС , и компоненты доступа тут ваще не причем. Pl-SQL это, уважаемый, не расширение (чего расширяется то?) а процедурный язык. А то что вы написали хоть где будет двумя запросами. И то что они идут последовательно дела не меняет. Вариант с одним запросом для Оракла написал hvlad. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.08.2004, 11:19:55 |
|
||
|
Возможен ли в FB 1.5.1 запрос Insert + Select???
|
|||
|---|---|---|---|
|
#18+
wolverinКто такие??? Может у вас есть Тынц??? Тынцев у нас всегда есть ;) wolverinЧем код криФ хотел бы узнать, если не сложно???Не сложно - Генератор.curval не лучший способ вставить новое значение в таблицу ;) Или нужно всегда вставлять одно и то же ? ;) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.08.2004, 11:38:19 |
|
||
|
Возможен ли в FB 1.5.1 запрос Insert + Select???
|
|||
|---|---|---|---|
|
#18+
hvladНе сложно - Генератор.curval не лучший способ вставить новое значение в таблицу ;) Или нужно всегда вставлять одно и то же ? ;) Да, нет. Все тут нормально. Некст вычисляется в тригере при вставке, а селест читает уже сгенеренное значение для возврата клиенту. Я так понял. И оба варианта (для Оракла и ИБ) полностью идентичны друг другу по сути. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.08.2004, 12:15:17 |
|
||
|
|

start [/forum/topic.php?fid=40&msg=32648273&tid=1578081]: |
0ms |
get settings: |
10ms |
get forum list: |
21ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
87ms |
get topic data: |
12ms |
get forum data: |
4ms |
get page messages: |
80ms |
get tp. blocked users: |
1ms |
| others: | 216ms |
| total: | 439ms |

| 0 / 0 |
