在pro*c编程中 如下语句是不是都不对?
EXEC SQL INSERT INTO stu values(:stu);
EXEC SQL SELECT * FROM stu INTO :stu;
EXEC SQL UPDATE stu SET *=:stu;已知结构体stu和表stu字段一一对应 以上三条语句是不是在oracle中都是错误的?
必须写成
EXEC SQL INSERT INTO stu VALUES (:stu.name,:stu.sex,:stu.age);
EXEC SQL SELECT * FROM stu INTO :stu.name,:stu.sex,:stu.age;
EXEC SQL UPDATE stu SET name=:stu.name,sex=:stu.sex,age=stu.age;这样?请高手给我明确解答 谢谢啦
EXEC SQL INSERT INTO stu values(:stu);
EXEC SQL SELECT * FROM stu INTO :stu;
EXEC SQL UPDATE stu SET *=:stu;已知结构体stu和表stu字段一一对应 以上三条语句是不是在oracle中都是错误的?
必须写成
EXEC SQL INSERT INTO stu VALUES (:stu.name,:stu.sex,:stu.age);
EXEC SQL SELECT * FROM stu INTO :stu.name,:stu.sex,:stu.age;
EXEC SQL UPDATE stu SET name=:stu.name,sex=:stu.sex,age=stu.age;这样?请高手给我明确解答 谢谢啦
proc*c在说明段不能说明结构类型的变量,但他能用指针来引用结构成员。
You can use host arrays as components of host structures. In the following example, a structure containing arrays is used to INSERT three new entries into the EMP table:struct
{
char emp_name[3][10];
int emp_number[3];
int dept_number[3];
} emp_rec;
...
strcpy(emp_rec.emp_name[0], "ANQUETIL");
strcpy(emp_rec.emp_name[1], "MERCKX");
strcpy(emp_rec.emp_name[2], "HINAULT");
emp_rec.emp_number[0] = 1964; emp_rec.dept_number[0] = 5;
emp_rec.emp_number[1] = 1974; emp_rec.dept_number[1] = 5;
emp_rec.emp_number[2] = 1985; emp_rec.dept_number[2] = 5;
EXEC SQL INSERT INTO emp (ename, empno, deptno)
VALUES (:emp_rec);
...