用c写一个update oracle 的函数,该如何设置它的参数?

eqwww7478 2002-08-16 04:52:28
要处理大量的数据,因此想把update语句写成一个函数。可是因为不确定每次update的列的类型和数量,以及where条件的类型。于是不知道该如何给函数一个合适的参数。
各位给个建议吧,是把这个变成函数,还是直接在需要update的时候写上SQL语句方便。

需要用pro*c来写的。在pro*c中,update的变量如下:
EXEC SQL UPDATE table_name
SET fname =:some_name
WHERE Id =:some_id
其中的变量为some_name和some_id.还有就是不知道每次SET的数量也不一定。

谢谢了!!
...全文
42 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
eqwww7478 2002-08-19
  • 打赏
  • 举报
回复
非常感谢!
不过是不是这样其它所有的dml语句一样可以处理。应该是有一些限制的吧。
谢谢指点!
shipatrioc 2002-08-16
  • 打赏
  • 举报
回复
上面有一处错误。
EXEC SQL EXECUTE IMMEDIATE :sql_str;
shipatrioc 2002-08-16
  • 打赏
  • 举报
回复
还是用动态的吧。
boolean tc_dm_oracle(char *sql_str)
{
EXEC SQL WHENEVER SQLERROR GOTO sql_error;

execute:
EXEC SQL EXECUTE IMMEDIATE :sql_stmt;
return(true);

sql_error:
EXEC SQL WHENEVER SQLERROR CONTINUE;
printf("error\n");
return(false);
}
在主函数里拼出sql语句,传到子函数里,非常方便,能处理所有的dml语句

3,499

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 高级技术相关讨论专区
社区管理员
  • 高级技术社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧