sql c db2 embedded-sql

sql incorporado en C



db2 embedded-sql (3)

He intentado escribir sentencias de SQL incorporado para DB2 que finalmente se compilan en C.

No pude encontrar un tutorial o manual sobre la sintaxis SQL incorporada para C como referencia. Un caso que me gustaría hacer es insertar datos en una tabla. Sé que la mayoría de las sentencias sql incorporadas necesitan el iniciador EXEC SQL, pero esa es la extensión de mi conocimiento en general. Estoy haciendo esto para una tarea y agradecería si hay más información sobre esto o solución.

Ejemplo de una declaración para consultar la base de datos:

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

Me gusta ver qué enunciado me permite INSERTAR en la base de datos. He intentado algo como lo siguiente, pero no funciona.

EXEC SQL INSERT ....


Acabo de empezar a usar sqllite . Además de la buena documentación para C ++, SQLlist podría ser algo bueno de tener porque puedes probar tu código sin depender de DB2 y es muy fácil agregarlo con tu código.


Consulte el manual de Embedded SQL de IBM.

El SQL incrustado es básicamente el mismo sin importar el idioma del host.


Los cuatro puntos no son sintácticamente válidos :-D

La forma confiable es la misma que con cualquier otra instrucción INSERT: enumere las columnas y los valores.

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

Aquí, el: hv1,: hv2 y: hv3 representan tres variables de host de tipos apropiados para las columnas en la tabla. Tenga en cuenta que la tabla podría contener otras columnas además de estas tres, siempre que esas columnas tengan un valor predeterminado especificado o acepten NULL (que en este caso es simplemente un valor predeterminado predeterminado). La forma poco confiable no muestra las columnas:

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

Ahora depende de que la secuencia sea correcta y debe proporcionar un valor para cada columna; no puede haber columnas adicionales en SomeTable.