对于下面的数据库模式。
Teacher (Tno,Tname,Tage,Tsex)
Department(Dno,Dname,Tel)
Work(Tno,Dno,Year,Salary)
根据用户输入的工资使用嵌入式SQL完成的查询如下,试读懂该程序并解释出语句。
void updateSalary()
{
EXEC SQL BEGING DECLARE SECTION;
int Hsalary;
int inputsalary;
EXEC SQL END DECLARE SECTION;
long SQLCODE;
EXEC SQL INCLUDE sqlca;
printf(“Please input the salary”);
sanf(“%d”,&inputsalary) ;
EXEC SQL DECLARE showCursor CURSOR FOR
SELECT salary FROM work ;
EXEC SQL OPEN updateCursor;
for(;;)
{
EXEHC SQL FETCH showCursor INTO: Hsalry;
If(sqlca.sqlcode!=0)
break;
if(inputsalary>Hsalary)
EXEC SQL UPDATE work SET salary=: inputsalary
WHERE CURRENT OF updateCursor;
}
EXEC SQL CLOSE showCursor;
EXEC SQL COMMIT WORK;
}
Teacher (Tno,Tname,Tage,Tsex)
Department(Dno,Dname,Tel)
Work(Tno,Dno,Year,Salary)
根据用户输入的工资使用嵌入式SQL完成的查询如下,试读懂该程序并解释出语句。
void updateSalary()
{
EXEC SQL BEGING DECLARE SECTION;
int Hsalary;
int inputsalary;
EXEC SQL END DECLARE SECTION;
long SQLCODE;
EXEC SQL INCLUDE sqlca;
printf(“Please input the salary”);
sanf(“%d”,&inputsalary) ;
EXEC SQL DECLARE showCursor CURSOR FOR
SELECT salary FROM work ;
EXEC SQL OPEN updateCursor;
for(;;)
{
EXEHC SQL FETCH showCursor INTO: Hsalry;
If(sqlca.sqlcode!=0)
break;
if(inputsalary>Hsalary)
EXEC SQL UPDATE work SET salary=: inputsalary
WHERE CURRENT OF updateCursor;
}
EXEC SQL CLOSE showCursor;
EXEC SQL COMMIT WORK;
}