0
Oracle Pro * Cを使用しています。 sys_dt
は、表内のchar(16)型で、値は '2016011113243456'です。私は私がしたいので、次回はそれが比較列(char型)where節のホスト変数をprocを使用して使用
sysdt最大から継続されます、これはgloble変数sysdtに毎回、毎回ストア、現在の最大sys_dt、完全に10行を50行を選択願っています
char sysdt[24];
void get_log();
int main(){
int i = 0;
connect();
while(i < 5){
get_log();
i++;
}
}
void get_log(){
EXEC SQL SELECT *from mylog where sys_dt > :sysdt and rownum <=10 oder by sys_dt;
EXEC SQL SELECT max(sys_dt) INTO :sysdt where rownum <=10;
}
条件を使用するたびに10行を選択してください。sys_dt > :sysdt
WHERE句sys_dt > :sysdt
は機能しませんでした。 定数文字列を使用してselect * from mylog where sys_dt > '2016011113243456' and rownum <=10
を実行できますが、実際にはホスト変数を使用します。
varibleを複数回選択することはできませんか?varibleを2回目に選択すると変数は変更されませんか? – Hhdzhu
宣言セクションはこの答えの鍵ですと思います。 –
@Hhdzhu:コードにループが見られませんでした。質問を変更する必要がある場合は、質問を編集して、この回答を無効にしないでください(問題の瞬間にあなたが持っているもののほとんどを残し、主に資料を追加します)。 –