|
Нужна помощь с кодом
|
|||
---|---|---|---|
#18+
Всем привет, есть задание - Написать запрос, позволяющий заполнить поле А таблицы X случайными значениями, находящимися между наименьшим и наибольшим значениями поля B таблицы Y. Есть похожий скрипт для Oracle, но я не знаю как его переделать.Помогите пожалуйста. BEGIN FOR x IN (SELECT ID FROM TABLE_B ORDER BY ID) LOOP UPDATE TABLE_B SET table_b."VALUE" = (SELECT MIN(TABLE_A."VALUE") KEEP (DENSE_RANK FIRST ORDER BY dbms_random.VALUE) FROM TABLE_A ) WHERE ID = TABLE_B.id; END LOOP; COMMIT; END; ... |
|||
:
Нравится:
Не нравится:
|
|||
17.09.2020, 10:49 |
|
Нужна помощь с кодом
|
|||
---|---|---|---|
#18+
17.09.2020 10:49, maksimpojar пишет: > Всем привет, есть задание ***, на всякий случай. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.09.2020, 11:00 |
|
Нужна помощь с кодом
|
|||
---|---|---|---|
#18+
maksimpojar, author24.biz ... |
|||
:
Нравится:
Не нравится:
|
|||
17.09.2020, 11:10 |
|
Нужна помощь с кодом
|
|||
---|---|---|---|
#18+
maksimpojar, по мне так задача - сивый бред. зачем так учат sql... ... |
|||
:
Нравится:
Не нравится:
|
|||
17.09.2020, 11:39 |
|
Нужна помощь с кодом
|
|||
---|---|---|---|
#18+
ну я не прошу готовый скрипт,мне бы хотя бы словами что надо сделать ... |
|||
:
Нравится:
Не нравится:
|
|||
17.09.2020, 11:40 |
|
Нужна помощь с кодом
|
|||
---|---|---|---|
#18+
maksimpojar ну я не прошу готовый скрипт,мне бы хотя бы словами что надо сделать Документацию почитай http://www.ibase.ru/files/firebird/Firebird_3_0_Language_Reference_RUS.pdf Тут всё написано. Или ты sql вообще не знаешь? ... |
|||
:
Нравится:
Не нравится:
|
|||
17.09.2020, 11:43 |
|
Нужна помощь с кодом
|
|||
---|---|---|---|
#18+
только базовые запросы вроде апдейта,инсерта и криейта. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.09.2020, 11:45 |
|
Нужна помощь с кодом
|
|||
---|---|---|---|
#18+
Читай в документации про процедуры и execute block, функции min, max, rand. Создавай базу и тренируйся на ней. Хоть что-нибудь на синтаксисе фб покажи, тогда поможем. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.09.2020, 11:48 |
|
Нужна помощь с кодом
|
|||
---|---|---|---|
#18+
maksimpojar только базовые запросы вроде апдейта,инсерта и криейта. Ковязин, Востриков - Мир InterBase. Архитектура, администрирование и разработка приложений баз данных в InterBase/FireBird/Yaffil ... |
|||
:
Нравится:
Не нравится:
|
|||
17.09.2020, 11:53 |
|
Нужна помощь с кодом
|
|||
---|---|---|---|
#18+
maksimpojar, что там сложного? Берёшь таблицу, получаешь для поля MIN и MAX. Далее генерируешь случайное число между ними и добавляешь запись в другую таблицу. Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11.
если надо обновлять/добавлять переписываешь на merge ... |
|||
:
Нравится:
Не нравится:
|
|||
17.09.2020, 11:53 |
|
Нужна помощь с кодом
|
|||
---|---|---|---|
#18+
maksimpojar только базовые запросы вроде апдейта,инсерта и криейта. самый базовый это SELECT. Я сильно сомневаюсь, что ты знаешь его хорошо. Надо знать SELECT/INSERT/UPDATE/DELETE/MERGE. Ну и синтаксис PSQL в целом. По поводу CREATE я тоже сомневаюсь, что ты знаешь по памяти как создать любой объект метаданных, ну например триггер. Даже я это не всегда помню, но для этого есть документация и всякие IDE вроде IBE. А вот сложный SELECT за тебя ни одна IDE не сгенерирует ... |
|||
:
Нравится:
Не нравится:
|
|||
17.09.2020, 12:00 |
|
Нужна помощь с кодом
|
|||
---|---|---|---|
#18+
Спасибо пойду пробовать,может быть разберусь. Симонов Денис maksimpojar, что там сложного? Берёшь таблицу, получаешь для поля MIN и MAX. Далее генерируешь случайное число между ними и добавляешь запись в другую таблицу. Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11.
если надо обновлять/добавлять переписываешь на merge ... |
|||
:
Нравится:
Не нравится:
|
|||
17.09.2020, 12:14 |
|
Нужна помощь с кодом
|
|||
---|---|---|---|
#18+
видимо я совсем туп,немного правил код но выдает ошибку за ошибкой(. При таком коде merge into TABLE_B using( with t as ( select id, min("VALUE") over() as min_val, max("VALUE") over() as max_val from TABLE_A) update id, min_val + rand() * (max_val - min_val) as val from t) выдаёт:can't format message 13:896 -- message file C:\WINDOWS\firebird.msg not found. Dynamic SQL Error. SQL error code = -104. Token unknown - line 6, column 20. (. Хотя вроде как смотр синтаксис весь здесь - http://www.ibase.ru/files/firebird/Firebird_3_0_Language_Reference_RUS.pdf ... |
|||
:
Нравится:
Не нравится:
|
|||
17.09.2020, 14:31 |
|
Нужна помощь с кодом
|
|||
---|---|---|---|
#18+
а кажется разобрался овер надо выкинуть он только для селектов ... |
|||
:
Нравится:
Не нравится:
|
|||
17.09.2020, 14:36 |
|
Нужна помощь с кодом
|
|||
---|---|---|---|
#18+
maksimpojarвидимо я совсем туп,немного правил код но выдает ошибку за ошибкой ... Хотя вроде как смотр синтаксис весь здесь да не ужели? Как говорится найди 100500 отличий между той билибердой что вы написали и тем что описано в доке ... |
|||
:
Нравится:
Не нравится:
|
|||
17.09.2020, 14:37 |
|
Нужна помощь с кодом
|
|||
---|---|---|---|
#18+
maksimpojar, 1. внутри using должен быть валидный select запрос, он может в том числе содержать и with. Про over читай отдельно в разделе "Оконные функции". Вообще для начала узнай что это такое и как они работают, а не тупо копируй мой текст 2. после using (select ...) src должно быть условие связи между целевой таблицей и производной таблицей src ON <expr> 3. предложение insert должно следовать после предложения when not matched then 4. предложение update должно следовать после предложения when matched then ... |
|||
:
Нравится:
Не нравится:
|
|||
17.09.2020, 14:43 |
|
Нужна помощь с кодом
|
|||
---|---|---|---|
#18+
Я дико извиняюсь за свою назойливость и тупость,но ответы к сожалению я могу получить только здесь(. Немного подправил его но теперь выдает ошибку на with :can't format message 13:896 -- message file C:\WINDOWS\firebird.msg not found. Dynamic SQL Error. SQL error code = -104. Token unknown - line 4, column 1. with. merge into TABLE_B using TABLE_A on table_a.id = table_b.id with t as ( select id, min("VALUE") as min_val, max("VALUE") as max_val from TABLE_A) WHEN MATCHED THEN update id, min_val + rand() * (max_val - min_val) as val from t) Симонов Денис maksimpojar, 1. внутри using должен быть валидный select запрос, он может в том числе содержать и with. Про over читай отдельно в разделе "Оконные функции". Вообще для начала узнай что это такое и как они работают, а не тупо копируй мой текст 2. после using (select ...) src должно быть условие связи между целевой таблицей и производной таблицей src ON <expr> 3. предложение insert должно следовать после предложения when not matched then 4. предложение update должно следовать после предложения when matched then ... |
|||
:
Нравится:
Не нравится:
|
|||
17.09.2020, 15:18 |
|
Нужна помощь с кодом
|
|||
---|---|---|---|
#18+
maksimpojarНемного подправил его но теперь выдает ошибку Не надо синтаксис SQL выдумывать из головы, читайте документацию. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
17.09.2020, 15:22 |
|
Нужна помощь с кодом
|
|||
---|---|---|---|
#18+
что то я совсем запутался... Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14.
Вот код из руководства(опираюсь на который я редактировал этот): Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12.
... |
|||
:
Нравится:
Не нравится:
|
|||
17.09.2020, 15:52 |
|
Нужна помощь с кодом
|
|||
---|---|---|---|
#18+
maksimpojarопираюсь на который Какой частью тела ты на него опирался когда написал нечто совершенно непохожее, я, кажется, догадываюсь... Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
17.09.2020, 15:56 |
|
Нужна помощь с кодом
|
|||
---|---|---|---|
#18+
ну,я правда пытаюсь понять,но чем дальше лезу тем больше путаюсь(. Я так понимаю ошибка у меня после слова select. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.09.2020, 16:09 |
|
Нужна помощь с кодом
|
|||
---|---|---|---|
#18+
maksimpojar,но чем дальше лезу тем больше путаюсь(. Так не лезь дальше. Вернись к азам и занимайся ими пока не освоишь. Начни с merge - отдельно, select - отдельно. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
17.09.2020, 16:17 |
|
Нужна помощь с кодом
|
|||
---|---|---|---|
#18+
ну к сожалению для начала мне все таки нужно разобраться с данной задачей(. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.09.2020, 16:20 |
|
Нужна помощь с кодом
|
|||
---|---|---|---|
#18+
17.09.2020 16:20, maksimpojar пишет: > ну к сожалению для начала мне все таки нужно разобраться с данной задачей(. синхрофазотрон построить. для начала. а уж потом заняться изучением физики. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
17.09.2020, 16:23 |
|
Нужна помощь с кодом
|
|||
---|---|---|---|
#18+
maksimpojarдля начала мне все таки нужно разобраться с данной задачей(. Ок, но для этого придётся сначала разобраться с синтаксисом merge отдельно и синтаксисом select - отдельно. После этого второй можно вставлять сразу после слова using в первом. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
17.09.2020, 16:24 |
|
|
start [/forum/topic.php?fid=40&fpage=12&tid=1560249]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
85ms |
get topic data: |
14ms |
get forum data: |
3ms |
get page messages: |
63ms |
get tp. blocked users: |
2ms |
others: | 14ms |
total: | 209ms |
0 / 0 |