informix + sqlserver 高手请进: 解决我把全部分给你!

eastxiang 2004-09-24 06:40:49
sqlserver:
declare @sql varchar(255)
select @sql = 'select * from table_1'
execute(@sql)

如何在informix 实现,这种动态执行SQL。
...全文
184 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
zxs3543 2004-10-10
  • 打赏
  • 举报
回复
#include <stdio.h>
#include <sqlca.h>
#include <sqlda.h>
#include <sqltypes.h>
#include <sqlstype.h>

main()
{
EXEC SQL INCLUDE SQLCA; /*定义通信区*/

EXEC SQL BEGIN DECLARE SECTION; /*主变量定义开始*/
EXEC SQL END DECLARE SECTION; /*主变量定义结束*/
EXEC SQL DROP DATABASE example;
EXEC SQL CREATE DATABASE example;
EXEC SQL DATABASE example; /*连接数据库*/
if (SQLCODE==0)
{
EXEC SQL CREATE TABLE Student
( alarm char(6) ,
sname char(10)
);


}
EXEC SQL INSERT INTO Student VALUES("aaaa","bbbb");

return(0);
}
learnlife 2004-10-10
  • 打赏
  • 举报
回复
EC&4GL支持,procedure不支持。
tommyyuyong 2004-10-07
  • 打赏
  • 举报
回复
INFORMIX 一定是支持动态的SQL语句看看下面的代码:
LET l_sql=" SELECT * FROM oik_file ",
" WHERE oik21='Y' AND ",
" ((oik06='RMB' AND oik09>oik091 ) OR ",
" (oik06<>'RMB' AND oik09f>oik15f and oik14f<>0 )) AND ",
tm.wc CLIPPED,
" AND oik03='",tm.year1 clipped,"'"


PREPARE anmp800_prepare1 FROM l_sql
IF SQLCA.sqlcode != 0 THEN
CALL cl_err('prepare:',SQLCA.sqlcode,1) EXIT PROGRAM
END IF
DECLARE anmp800_curs1 CURSOR WITH HOLD FOR anmp800_prepare1

FOREACH anmp800_curs1 INTO g_oik.*
IF SQLCA.sqlcode != 0 THEN
CALL cl_err('foreach:',SQLCA.sqlcode,1)
EXIT FOREACH
END IF
............
END FOREACH
yaoyz999 2004-09-29
  • 打赏
  • 举报
回复
下面是一段ec程序,看看是不是你想要的;
int dbexecute(char *ssql1)
{
int i=0;
$char ssql[3000];
strcpy(ssql,ssql1);
$prepare dbexec from :ssql;
if( SQLCODE<0)
{
printf("prepare error %d,for %s\n",SQLCODE,ssql);
i=SQLCODE;
return i;
}
$execute dbexec;
if( SQLCODE<0)
{
printf("execute error %d,for %s\n",SQLCODE,ssql);
i=SQLCODE;
return i;
}
$free dbexec;
if(DBBUG==1)
{
system("date");
printf("success for %s\n",ssql);
}
return i;
}
lzx130 2004-09-27
  • 打赏
  • 举报
回复
和在sqlserver2000一样啊
你想得到就做得到啊

wzbstudy 2004-09-25
  • 打赏
  • 举报
回复
但是你可以把你处理的结果放在临时表内,再展示临时表;
wzbstudy 2004-09-25
  • 打赏
  • 举报
回复
据我所知,informix好像不支持动态SQL语句的啊。
eastxiang 2004-09-24
  • 打赏
  • 举报
回复
我的informix版本是:IBM Informix Dynamic Server Version 9.40.UC4W2

1,194

社区成员

发帖
与我相关
我的任务
社区描述
其他数据库开发 Informix
社区管理员
  • Informix社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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