2017-04-22 86 views
0

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

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. 

任何想法将不胜感激!

编辑:我知道一般的程序在做什么,但上来的问题是沿着什么是‘包括’用于,或什么是SQLCODE等

+0

知道的语言完全是出于这里的范围。把它当作英文阅读。它并不比这更简单。 –

+0

scott/tiger是默认的oracle示例用户名/密码。所以,这可能是pro/c – wildplasser

+0

更正:它绝对不是C.它可能是微软语言之一。或者一个帕斯卡变体。 – wildplasser

回答

0

我觉得可能值的”行它可被写入帕斯卡。

0

COBOL

SQL通信区(SQLCA

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

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