单行查询最多从数据库中检索一行。单行查询 SELECT 语句在选择列表之后和 FROM 子句之前有一个 INTO 子句。INTO 子句包含一个主机变量的列表,用来接收每个选择列表项的值。主机变量和选择列表项的数目必须相同。主机变量可以和指示符变量一起使用,以指示 NULL 结果。
当执行 SELECT 语句时,数据库服务器检索结果并将其放在主机变量中。如果查询结果包含多个行,则数据库服务器会返回一个错误。
如果查询结果中没有选定的行,则返回 [未找到行
] 警告。在 SQLCA 结构中返回的错误和警告。请参见SQL 通信区域 (SQLCA)。
如果成功地从 Employees 表中读取了一行,则以下代码段返回 1;如果该行不存在,则返回 0;如果出现错误,则返回 -1。
EXEC SQL BEGIN DECLARE SECTION; long ID; char name[41]; char Sex; char birthdate[15]; short int ind_birthdate; EXEC SQL END DECLARE SECTION; ... int find_employee( long Employees ) { ID = Employees; EXEC SQL SELECT GivenName || ' ' || Surname, Sex, BirthDate INTO :name, :Sex, :birthdate:ind_birthdate FROM Employees WHERE EmployeeID = :ID; if( SQLCODE == SQLE_NOTFOUND ) { return( 0 ); /* Employees not found */ } else if( SQLCODE < 0 ) { return( -1 ); /* error */ } else { return( 1 ); /* found */ } } |
Copyright © 2009, iAnywhere Solutions, Inc. - SQL Anywhere 11.0.1 |