У меня есть таблица employee1 с полем student_id, имя, метки и таблица с именем поля, предположим, что NEHA присутствует в поле имени, у меня есть таблица с именем NEHA. В таблицах таблиц имен, id и поле subject. Я хочу получить объект из таблицы имен (neha), где метки> 10. Мне нужно написать программу sqlrpgle для извлечения имени из employee1 динамическим запросом, поскольку имя меняется каждый раз. У меня есть общий код. В этом коде каждый раз, когда вызывается другое имя из emoployee1, но проблема в этом коде не может извлечь столбец SUBJECT из таблицы NEHA. В отладке предстоящего объекта = ''. но тот же запрос выполняется отлично в strsql.может ли кто-нибудь предложить какое-либо решение?sqlrpgle dynamic query in as/4000
D stmt1 s 500A inz
D subject s 10A
D @subject s 10A
D name s 20A
D @Name s 20A
D STUdent_ID s 10P 0
d marks s 10P 2
/Free
EXEC Sql
declare c1 scroll cursor for
select name,student_id,marks from employee1;
EXEC Sql
open c1;
EXEC Sql
fetch first from c1 into :@name,:student_id,:marks;
dow sqlcod=0;
stmt1='select subject from ' + %Trim(@name)+ ' where marks>10';
EXEC Sql
declare c2 scroll cursor for
select subject from @name where marks>10;
EXEC Sql
open c2;
EXEC sql
fetch first from c2 into :@SUBJECT;
If SQLCOD = 0;
dsply subject;
EndIf;
EXEC Sql
Prepare s2 from :stmt1;
EXEC Sql
execute s2;
EXEC SQL
Fetch next from c1 into :name,:student_id,:marks;
EXEC SQL
Fetch next from c2 into :subject;
enddo;
EXEC Sql
close c1;
EXEC Sql
close c2;
*inlr = *on;
/END-FREE
Я извините, но вам, возможно, придется переделать этот пост, я попытался его отредактировать, но используемый английский язык затрудняет расшифровку. Пожалуйста, сделайте свои сообщения краткими и точными, если возможно – Draken
Похоже, вы пытаетесь запустить динамический SQL против таблицы с именем @name, но ваш вопрос, кажется, говорит о том, что вы должны бежать против таблицы с именем NEHA. Что такое «NEHA»? Это таблица? Или это значение в столбце таблицы? – user2338816
'neha' - таблица, в которой есть столбец «метки», «субъект» и «наха» - поле под полем «имя» таблицы «epmloyee1». Мне нужно написать запрос примерно так: «выберите тему из нехи где mark> 10 'это имя таблицы «neha» происходит из таблицы «employee1». Имя таблицы «neha» приходит во время выполнения, поэтому оно находится под динамическим запросом «select subject from» +% Trim (@name) +', где метки > 10 '. Так что каждый раз вызывается имя другой таблицы. Но проблема в этом коде - это «неха» как поле под полем «employee1» table.so «метки» под таблицей «neha» не распознается. – Nabamita