Eine aufbereitete Darstellung der Quelle

 
     
 
 
Anforderungen  |   Konzepte  |   Entwurf  |   Entwicklung  |   Qualitätssicherung  |   Lebenszyklus  |   Steuerung
 
 
 
 

Benutzer

Quelle  execute.pgc   Sprache: unbekannt

 
Spracherkennung für: .pgc vermutete Sprache: Unknown {[0] [0] [0]} [Methode: Schwerpunktbildung, einfache Gewichte, sechs Dimensionen]

#include <stdlib.h>
#include <string.h>
#include <stdlib.h>
#include <stdio.h>

exec sql include ../regression;

exec sql whenever sqlerror sqlprint;

int
main(void)
{
exec sql begin declare section;
 int amount[8];
 int increment=100;
 char name[8][8];
 char letter[8][1];
 char command[128];
exec sql end declare section;
 int i,j;

 ECPGdebug(1, stderr);

 exec sql connect to REGRESSDB1 as main;
 exec sql create table test (name char(8), amount int, letter char(1));
 exec sql commit;

 /* test handling of embedded quotes in EXECUTE IMMEDIATE "literal" */
 exec sql execute immediate "insert into test (name, \042amount\042, letter) values ('db: ''r1''', 1, 'f')";

 sprintf(command, "insert into test (name, amount, letter) values ('db: ''r1''', 2, 't')");
 exec sql execute immediate :command;

 sprintf(command, "insert into test (name, amount, letter) select name, amount+10, letter from test");
 exec sql execute immediate :command;

 printf("Inserted %ld tuples via execute immediate\n", sqlca.sqlerrd[2]);

 sprintf(command, "insert into test (name, amount, letter) select name, amount+$1, letter from test");
 exec sql prepare I from :command;
 exec sql execute I using :increment;

 printf("Inserted %ld tuples via prepared execute\n", sqlca.sqlerrd[2]);

 exec sql commit;

 sprintf (command, "select * from test");

 exec sql prepare f from :command;
 exec sql declare CUR cursor for f;

 exec sql open CUR;
 exec sql fetch 8 in CUR into :name, :amount, :letter;

 for (i=0, j=sqlca.sqlerrd[2]; i<j; i++)
 {
  exec sql begin declare section;
  char n[8], l = letter[i][0];
  int a = amount[i];
  exec sql end declare section;

  strncpy(n, name[i], 8);
  printf("name[%d]=%8.8s\tamount[%d]=%d\tletter[%d]=%c\n", i, n, i, a, i, l);
 }

 exec sql close CUR;
 exec sql deallocate f;

 sprintf (command, "select * from test where amount = $1");

 exec sql prepare f from :command;
 exec sql declare CUR2 cursor for f;

 exec sql open CUR2 using 1;
 exec sql fetch in CUR2 into :name, :amount, :letter;

 for (i=0, j=sqlca.sqlerrd[2]; i<j; i++)
 {
  exec sql begin declare section;
  char n[8], l = letter[i][0];
  int a = amount[i];
  exec sql end declare section;

  strncpy(n, name[i], 8);
  printf("name[%d]=%8.8s\tamount[%d]=%d\tletter[%d]=%c\n", i, n, i, a, i, l);
 }

 exec sql close CUR2;
 exec sql deallocate f;

 sprintf (command, "select * from test where amount = $1");

 exec sql prepare f from :command;
 exec sql execute f using 2 into :name, :amount, :letter;

 for (i=0, j=sqlca.sqlerrd[2]; i<j; i++)
 {
  exec sql begin declare section;
  char n[8], l = letter[i][0];
  int a = amount[i];
  exec sql end declare section;

  strncpy(n, name[i], 8);
  printf("name[%d]=%8.8s\tamount[%d]=%d\tletter[%d]=%c\n", i, n, i, a, i, l);
 }

 exec sql deallocate f;
 exec sql drop table test;
 exec sql commit;
 exec sql disconnect;

 return 0;
}

[Dauer der Verarbeitung: 0.15 Sekunden, vorverarbeitet 2026-08-08]

                                                                                                                                                                                                                                                                                                                                                                                                     


Neuigkeiten

     Aktuelles
     Motto des Tages

Open Source Software

     Quellcodebibliothek
     Eigene Quellcodes
     Fremde Quellcodes
     Suchen

Jenseits des Üblichen ....

Besucherstatistik

Besucherstatistik

Statistik
#Sources=434850
#Domains=655579