我一直在尝试为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 ....
答案 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,并且很容易添加代码。