视频: win10系统从零开始安装laravel-2-homestead 2024
SQLSTATE指定SQL中的大量异常条件。 SQLSTATE是一个五个字符的字符串,其中只有大写字母 A 到 Z 和数字0到9是有效字符。五个字符的字符串分为两组:两个字符的类代码和三个字符的子代码。类代码在完成SQL语句之后保持状态。该状态可能表明该声明的成功完成,或者是一些主要类型的错误情况之一。子类代码提供了关于语句的这个特定执行的更多细节。
<! SQL标准定义了以字母
A 到 H 或数字0到4开头的任何类代码;因此,这些类代码在任何实现中都是相同的。以字母 I 至 Z 或数字5至9开头的类代码保留为打开以供实现者定义,因为SQL规范无法预测可能出现的每种情况每一个实施。 <!但是,实现者应该尽可能少地使用这些非标准类代码,以避免从一个DBMS迁移到另一个DBMS。理想情况下,执行者大部分时间应使用标准代码,而非标准代码只能在最不寻常的情况下使用。 类别代码00表示成功完成。类代码01意味着语句执行成功,但产生警告。分类代码02表示没有数据条件。除00,01或02以外的任何SQLSTATE类代码都表示该语句没有成功执行。
因为SQLSTATE在每个SQL操作之后都会更新,所以每个语句执行后都可以检查它。如果SQLSTATE包含00000(成功完成),则可以继续下一个操作。如果它包含任何其他内容,则可能需要从代码的主线分支来处理这种情况。 SQLSTATE包含的特定类代码和子类代码决定了您应采取的几种可能的操作中的哪一种。
要在模块语言程序中使用SQLSTATE,请在过程定义中包含对其的引用,如下例所示:
PROCEDURE NUTRIENT(SQLSTATE,:foodname CHAR(20),:calories SMALLINT,:protein DECIMAL (5,1):fat DECIMAL(5,1):carbo DECIMAL(5,1))REPLACE INTO FOODS(食物名称,卡路里,蛋白质,脂肪,碳水化合物)值(:食物名称,:卡路里,蛋白质,脂肪,:碳水化合物);在程序语言程序中的适当位置,可以使参数值可用(可能通过向用户请求),然后调用程序。这个操作的语法因语言而异,但是看起来像这样:
foodname =“Okra,boiled”;卡路里= 29;蛋白质= 2.0;脂肪= 0.3; carbo = 6.0;营养(状态,食物名称,卡路里,蛋白质,脂肪,碳水化合物);
SQLSTATE的状态以变量状态返回。你的程序可以检查这个变量,然后根据变量的内容采取适当的行动。