忘说了,我需要的其实是一个二维数组,即六个字符串,每个字符串的长度不会超过128

解决方案 »

  1.   

    数组SQL变更的说明和引用
    在SQL语句中引用数组时,只需写数组名(名字前加冒号), 不需写下标,在C语句中用法如同C语言的数组变量。
    使用数组可大大降低网络传输开销。如要向一表插入100行数据,如果没有数组,就要重复100次, 而引用后,只须执行一次insert语句、便可一次性插入。例如:
            EXEC  SQL  BEGIN  DECLARE  SECTION;
              Int  emp_number[100];
              Char  emp_name[100][15];
              Float  salary[100],commission[100];
              Int  dept_number;
             EXEC  SQL  END  DECLARE  SECTION;
         ….
             EXEC SQL SELECT EMPNO,ENAME,SAL,COMM
                INTO :emp_number,:emp_name,:salary,:commission
             FROM EMP
             WHERE DEPTNO=:dept_number;
         在使用数组时,应注意以下几点;
    不支持指针数组
    只支持一维数组, 而 emp-name [100][15]视为一维字符串
    数组最大维数为32767
    在一条SQL语句中引用多个数组时,这些数组维数应相同
    在VALUES , SET, INTO 或WHERE子名中, 不允许把简单SQL变量与数组SQL变量混用
    不能在DELARE部分初始化数组
    例如:下面的引用是非法的
          EXEC SQL BEGIN DECLARE SECTION;
          Int  dept - num [3] = {10,20,30};
          EXEC SQL END DECLARE SECTION ;
          
           EXEC SQL SELECT EMPNO, ENAME , SAL
            INTO : emp - num [ i ], : emp - name [ i ], : salarg [ i ]
           FROM EMP