powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / можно ли при использовании prepareStatement писать вложеный запрос при инсерте
22 сообщений из 22, страница 1 из 1
можно ли при использовании prepareStatement писать вложеный запрос при инсерте
    #34453973
написал
sql= insert into <table1> (имя поля1, поле 2) select ?,имяполля from <table 2>;
pstmt = conn.prepareStatement(sql);
pstmt.setString(1,kodDok);
и мне сказали
SQL0418N Оператор содержит неверное использование маркера параметра. SQLSTATE=42610
что я не так делаю?
...
Рейтинг: 0 / 0
можно ли при использовании prepareStatement писать вложеный запрос при инсерте
    #34453977
если без вложенного то всё гуд
...
Рейтинг: 0 / 0
можно ли при использовании prepareStatement писать вложеный запрос при инсерте
    #34454010
Lennier
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Должно работать, сам сегодня нечто подобное делал.
...
Рейтинг: 0 / 0
можно ли при использовании prepareStatement писать вложеный запрос при инсерте
    #34454825
whim
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Неправильно использовать
Код: plaintext
select ?
Вот именно на это у вас и ругается.
Писать вложенный запрос без проблем, но
Код: plaintext
Select ?  - так нельзя писать
...
Рейтинг: 0 / 0
можно ли при использовании prepareStatement писать вложеный запрос при инсерте
    #34455189
whimНеправильно использовать
Код: plaintext
select ?
Вот именно на это у вас и ругается.
Писать вложенный запрос без проблем, но
Код: plaintext
Select ?  - так нельзя писать


а как можно?
...
Рейтинг: 0 / 0
можно ли при использовании prepareStatement писать вложеный запрос при инсерте
    #34455296
как тогда вот ето вота
insert into <table1> (имя поля1, поле 2) select "какая-то фигня",имяполля from <table 2>
в параметризированый впхнуть
...
Рейтинг: 0 / 0
можно ли при использовании prepareStatement писать вложеный запрос при инсерте
    #34455402
whim
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
самое простое что приходит на ум :

Код: plaintext
String sql= "insert into <table1> (имя поля1, поле 2) select "+ kodDok +",имяполля from <table 2>";

если посложнее то можно вложенный select запихать в пользовательскую функцию БД, с параметром.
Ну опять таки это если БД позволит такое сделать.
Какая у вас БД?
...
Рейтинг: 0 / 0
можно ли при использовании prepareStatement писать вложеный запрос при инсерте
    #34455758
DB2
---
мне надо чтоб в одно поле результат вложеного запроса вгонялся, а в другое чтоб я через "вопрочик" вгонял, т.к. оно тоже меняется
...
Рейтинг: 0 / 0
можно ли при использовании prepareStatement писать вложеный запрос при инсерте
    #34455789
Juga
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В оракле можно так insert into <table1> (field1, field2) values(?, (select field from <table 2>)) при условии конечно что селект 1 значение вернёт
...
Рейтинг: 0 / 0
можно ли при использовании prepareStatement писать вложеный запрос при инсерте
    #34455848
если писать
Код: plaintext
values
то запрос не работает запрос и без вопросиков))
...
Рейтинг: 0 / 0
можно ли при использовании prepareStatement писать вложеный запрос при инсерте
    #34455857
непонимающийесли писать
Код: plaintext
values
то запрос не работает запрос и без вопросиков))

если в инсерт пхать вложенный запрос
...
Рейтинг: 0 / 0
можно ли при использовании prepareStatement писать вложеный запрос при инсерте
    #34455941
Фотография Timm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
JugaВ оракле можно так insert into <table1> (field1, field2) values(?, (select field from <table 2>)) при условии конечно что селект 1 значение вернёт или ничего
...
Рейтинг: 0 / 0
можно ли при использовании prepareStatement писать вложеный запрос при инсерте
    #34456275
Timm JugaВ оракле можно так insert into <table1> (field1, field2) values(?, (select field from <table 2>)) при условии конечно что селект 1 значение вернёт или ничего

у меня вложенный запрос всегда одно значение и возвращает!
(табличка к которой обращаюсь всегда одну строчку содержит, а я от туда значение поля выковыриваю )
...
Рейтинг: 0 / 0
можно ли при использовании prepareStatement писать вложеный запрос при инсерте
    #34456365
и если без вопросиков вставку делать
whim
Код: plaintext
String sql= "insert into <table1> (имя поля1, поле 2) select "+ kodDok +",имяполля from <table 2>";


то всё работает
а так
Код: plaintext
String sql= "insert into <table1> (имя поля1, поле 2) select ?,имяполля from <table 2>";
нет

почему?
это ток от базы зависит или где?
...
Рейтинг: 0 / 0
можно ли при использовании prepareStatement писать вложеный запрос при инсерте
    #34456494
oleg555
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
посмотри что тебе написали и найди отличие-)))
в том что пишешь ты ? интерпретируется как название поля таблицы
так писать нельзя.
...
Рейтинг: 0 / 0
можно ли при использовании prepareStatement писать вложеный запрос при инсерте
    #34456511
oleg555посмотри что тебе написали и найди отличие-)))
в том что пишешь ты ? интерпретируется как название поля таблицы
так писать нельзя.

т.е. при использование вложенного запроса использовать вопросики и
Код: plaintext
pstmt.setType( 1 ,"значение")
низя?
...
Рейтинг: 0 / 0
можно ли при использовании prepareStatement писать вложеный запрос при инсерте
    #34456522
Juga
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
можно. нельзя вопросик ставить в перечисление полей в твоём случае
...
Рейтинг: 0 / 0
можно ли при использовании prepareStatement писать вложеный запрос при инсерте
    #34456542
Фотография Timm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
insert into <table1> (имя поля1, поле  2 ) select cast(? as varchar( 100 )),имяполля from <table  2 >;
так попробуй.
...
Рейтинг: 0 / 0
можно ли при использовании prepareStatement писать вложеный запрос при инсерте
    #34456642
Timm
Код: plaintext
insert into <table1> (имя поля1, поле  2 ) select cast(? as varchar( 100 )),имяполля from <table  2 >;
так попробуй.

спасибо.фурычит)))

а без преобразования к типу?
точно не знаю, но слышал всётаки это дорогостоящая операция
...
Рейтинг: 0 / 0
можно ли при использовании prepareStatement писать вложеный запрос при инсерте
    #34456654
Фотография Timm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
непонимающий Timm
Код: plaintext
insert into <table1> (имя поля1, поле  2 ) select cast(? as varchar( 100 )),имяполля from <table  2 >;
так попробуй.

спасибо.фурычит)))

а без преобразования к типу?
точно не знаю, но слышал всётаки это дорогостоящая операция
понятия не имею. дб2 не видел ни разу.
http://www.thescripts.com/forum/thread182742.html
...
Рейтинг: 0 / 0
можно ли при использовании prepareStatement писать вложеный запрос при инсерте
    #34456709
еще раз спасибо!

--
то понимает, то не понимает,....
...
Рейтинг: 0 / 0
можно ли при использовании prepareStatement писать вложеный запрос при инсерте
    #34457332
Juga
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
может так прокатит:
insert into <table1> (имя поля1, поле 2) select \"?\" ,имяполля from <table 2>;
...
Рейтинг: 0 / 0
22 сообщений из 22, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / можно ли при использовании prepareStatement писать вложеный запрос при инсерте
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]