0

基本上我有一个数据库设计考试,我们的主要主题之一是嵌入式 SQL。这是给我的唯一示例,但是对于 0 解释,我几乎很难弄清楚发生了什么,如果我知道它是用什么语言编写的,我至少可以找到参考手册来寻求帮助。

var
    StaffNum: string[5];
    FirstName, LastName: string[12];
    Address: string [60];
    Telephone: string[12];
EXEC SQL
    INCLUDE SQLCA
END EXEC
begin
EXEC SQL
    LOGIN localhost, 'scott' , 'tiger'
END EXEC
if SQLCODE <> 0 then
begin
    display ('Illegal login attempted - program terminating');
exit
end;

display ('Enter Staff Number of Interest');
accept (StaffNum);
EXEC SQL
    SELECT Fname, Lname, Address, Tel_No
    INTO :FirstName, :LastName, :Address, :Telephone
    FROM STAFF
    WHERE Sno = :StaffNum
END EXEC
if SQLCODE <> 0 then
begin
    display ('Invalid Staff Number Entered: ', StaffNum)
end
else
begin
    display ('Name: ', FirstName, ' ', LastName);
    display ('Home Address: ', Address);
    display ('Phone Number: ', Telephone)
end;
EXEC SQL
LOGOFF
END EXEC
end.

任何想法将不胜感激!

编辑:我知道一般程序的作用,但出现的问题是“'Include'用于什么,或者 SQLCODE 的可能值是什么等。

4

2 回答 2

0

COBOL

SQL 通信区 (SQLCA )

每个包含嵌入式 SQL 的 COBOL 程序都必须有一个 SQL 通信区 (SQLCA) 或在其工作存储部分中定义的字段 SQLCODE。此定义通常通过包含随 COBOL 系统提供的 SQLCA 副本来完成。SQL 参考手册中提供了 SQLCA 结构的完整描述。SQLCA 保存有关上次执行的 SQL 语句状态的信息。它在执行每个 EXEC SQL ... END-EXEC 代码块后更新。

https://supportline.microfocus.com/documentation/books/sx40/spcesc.htm#usca

于 2017-04-22T13:06:53.280 回答
0

我认为它可能是用 Pascal 编写的。

于 2017-04-22T12:57:09.697 回答