Ich habe employee1 Tabelle mit Feld student_id, Name, Marken und Tabelle mit Feldnamen, angenommen NEHA ist im Namensfeld vorhanden, ich habe eine Tabelle mit Namen NEHA .In Namenstabelle Marken, ID und Betreff-Feld ist dort.Ich möchte das Thema aus der Namentabelle (neha) holen, wo die Markierungen> 10 sind. Ich muss sqlrpgle Programm schreiben, um Name von employee1 durch dynamische Abfrage zu holen, da Name jedes Mal ändert. Ich habe den Code geteilt. In diesem Code wird jedes Mal ein anderer Name von emoployee1 abgerufen, aber das Problem in diesem Code ist nicht in der Lage, die SUBJECT-Spalte von der NEHA-Tabelle abzurufen. Bei debug wird es subject = ''. aber die gleiche Abfrage läuft perfekt in strsql. Kann jemand irgendeine Lösung vorschlagen?sqlrpgle dynamische Abfrage in/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
Ich bin Es tut mir leid, aber Sie müssen diesen Beitrag möglicherweise wiederholen, ich habe versucht, es zu bearbeiten, aber das verwendete Englisch macht es schwierig zu entziffern. Bitte machen Sie Ihre Posts präzise und soweit möglich. – Draken
Es sieht so aus, als ob Sie versuchen, dynamisches SQL gegen eine Tabelle namens @name auszuführen, aber Ihre Frage scheint zu sagen, dass Sie gegen eine Tabelle namens NEHA laufen sollten. Was ist "NEHA"? Ist es ein Tisch? Oder ist es ein Wert in einer Spalte in einer Tabelle? – user2338816
'Neha' ist eine Tabelle, die eine Spalte 'Marken' hat, 'Betreff' und 'naha' ist Feld unter Feldname 'Name' von 'epmloyee1' Tabelle auch. Ich muss eine Abfrage so etwas schreiben 'Thema aus Neha auswählen Bei Markierungen> 10 'kommt der Tabellenname' neha 'von' employee1 'table.und der Tabellenname' neha 'kommt zur Laufzeit, also unter der dynamischen Abfrage' Subject von wählen '+% Trim (@name) +' wo die Marken stehen > 10'.so es ist jedes Mal andere Tabellennamen zu holen. Aber das Problem in diesem Code ist es 'Neha' als ein Feld unter 'employee1' table.so 'Marken' Feld unter 'Neha' Tabelle wird nicht erkannt. – Nabamita