1,195
社区成员
发帖
与我相关
我的任务
分享
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <string.h>
#include <sys/stat.h>
#include <unistd.h>
#include <pthread.h>
void *foo1(void* arg)
{
EXEC SQL BEGIN DECLARE SECTION;
char acc[10];
EXEC SQL END DECLARE SECTION;
strcat(acc, "yyy");
EXEC SQL set connection 'conn1';
EXEC SQL BEGIN WORK;
EXEC SQL
insert into testtable
values(:acc, 'N', 100);
EXEC SQL COMMIT WORK;
//EXEC SQL ROLLBACK WORK;
}
void *foo2(void* arg)
{
EXEC SQL BEGIN DECLARE SECTION;
char acc[10];
EXEC SQL END DECLARE SECTION;
strcat(acc, "xxx");
EXEC SQL set connection 'conn2';
EXEC SQL BEGIN WORK;
sleep(1);
EXEC SQL
insert into testtable
values(:acc, 'M', 200);
//EXEC SQL COMMIT WORK;
EXEC SQL ROLLBACK WORK;
}
int main()
{
pthread_t tid[10];
EXEC SQL CONNECT TO "root@ol_informix1170" as "conn1";
EXEC SQL CONNECT TO "root@ol_informix1170" as "conn2";
pthread_create(&tid[0], NULL, foo1, NULL);
pthread_create(&tid[1], NULL, foo2, NULL);
pthread_join(tid[0], NULL);
pthread_join(tid[1], NULL);
EXEC SQL DISCONNECT "conn1";
EXEC SQL DISCONNECT "conn2";
return 0;
}