给你个简单的oracle的例子,pro*c差不多SQL> desc yyy; Name Type Nullable Default Comments ---- ------------- -------- ------- -------- AAA NUMBER Y ERR VARCHAR2(100) Y insert into yyy values(5,'1111111111'); create or replace procedure test is tab1 varchar2(10); col1 varchar2(10); s varchar2(100); begin tab1 := 'YYY'; col1 := 'aaa'; s := ' update '|| tab1 ||' set err='|| 123 ||' where '|| col1 ||' = 5 '; execute immediate s; commit; end test;
EXEC SQL Prepare s From :sQueryString; EXEC SQL Declare YourCursorName Cursor For s; EXEC SQL Open YourCursorName; for (;;) { EXEC SQL Fetch YourCursorName Into :variable, ........... ........... if (sqlca.sqlcode!=0) break; } EXEC SQL Close YourCursorName;
能不能给个例子
Name Type Nullable Default Comments
---- ------------- -------- ------- --------
AAA NUMBER Y
ERR VARCHAR2(100) Y
insert into yyy values(5,'1111111111');
create or replace procedure test
is
tab1 varchar2(10);
col1 varchar2(10);
s varchar2(100);
begin
tab1 := 'YYY';
col1 := 'aaa';
s := ' update '|| tab1 ||' set err='|| 123 ||' where '|| col1 ||' = 5 ';
execute immediate s;
commit;
end test;
char sQueryString[1000];
char sTableName[20];
char a3[100];
........
........
strcpy(sTableName,"YourTableName");
strcpy(a3,"lzj");
........
........
strcpy(sQueryString," Select a.a1,a.a2\n");
strcat(sQueryString," From ");
strcat(sQueryString,sTableName);
strcat(sQueryString," a\n");
strcat(sQueryString," Where a.a3=");
strcat(sQueryString,a3);
.......
.......
EXEC SQL Prepare s From :sQueryString;
EXEC SQL Declare YourCursorName Cursor For s;
EXEC SQL Open YourCursorName;
for (;;)
{
EXEC SQL Fetch YourCursorName
Into :variable,
...........
...........
if (sqlca.sqlcode!=0) break;
}
EXEC SQL Close YourCursorName;