嵌入式SQL在C中

时间:2008-11-19 01:20:24

标签: sql c db2 embedded-sql

我一直在尝试为DB2编写最终用C语言编译的嵌入式SQL语句。

我找不到有关C的嵌入式SQL语法的教程或手册供参考。我想做的一个案例是将数据插入表中。我知道大多数嵌入式sql语句需要initalizer EXEC SQL,但这通常是我的知识范围。我这样做是为了一项任务,如果有关于此或解决方案的更多信息,我将不胜感激。

查询数据库的语句示例:

EXEC SQL SELECT SNAME, AGE into :sname, :sage
    FROM ONE.SAILOR
    WHERE sid = :sid;

我喜欢看哪个语句允许我插入数据库。我尝试了类似下面的内容,但它不起作用。

 EXEC SQL INSERT ....

3 个答案:

答案 0 :(得分:2)

请参阅IBM的Embedded SQL手册。

无论主语是什么,嵌入式SQL都大致相同。

答案 1 :(得分:2)

四个点在语法上无效:-D

可靠的方法与任何其他INSERT语句相同:列出列和值。

EXEC SQL INSERT INTO SomeTable(Col1, Col2, Col3) VALUES(:hv1, :hv2, :hv3);

这里,:hv1,:hv2和:hv3表示适合表中列的三种类型的主变量。请注意,只要这些列具有指定的默认值或接受NULL(在这种情况下实际上只是默认默认值),该表可以包含除这三列之外的其他列。不可靠的方法没有列出列:

EXEC SQL INSERT INTO SomeTable VALUES(:hv1, :hv2, :hv3);

现在你依赖于正确的序列,你必须为每一列提供一个值 - SomeTable中不能有额外的列。

答案 2 :(得分:1)

我刚开始使用sqllite。除了C ++的好documentation之外,SQLlist可能是一件好事,因为你可以对代码进行单元测试而不依赖于DB2,并且很容易添加代码。