Control Structures of PL/SQL Control structures are probably the most useful (and important) part of PL/pgSQL.With PL/pgSQL's control structures, you can manipulate PostgreSQL data in a very flexible and powerful way. 1.Returning From a Function RETU…
1 PL/pgSQL Under the Hood This part discusses some implementation details that are frequently important for PL/pgSQL users to know. 1.1 Variable Substitution SQL statements and expressions within a PL/pgSQL function can refer to variables and paramet…
Trigger Procedures PL/pgSQL can be used to define trigger procedures on data changes or database events. A trigger procedure is created with the CREATE FUNCTION command, declaring it as a function with no arguments and a return type of trigger (for d…
Cursors Rather than executing a whole query at once, it is possible to set up a cursor that encapsulates the query, and then read the query result a few rows at a time. A more interesting usage is to return a reference to a cursor that a function has…
1.Structure of PL/pgSQL The structure of PL/pgSQL is like below: [ <<label>> ] [ DECLARE declarations ] BEGIN statements END [ label ]; A label is only needed if you want to identify the block for use in an EXIT statement, or to qualify the na…
Errors and Messages 1. Reporting Errors and Messages Use the RAISE statement to report messages and raise errors. RAISE [ level ] 'format' [, expression [, ... ]] [ USING option = expression [, ... ] ]; RAISE [ level ] condition_name [ USING option =…
变量的声明.赋值.运算符 1.声明并使用变量 变量可以在声明时赋值,也可以先定义后赋值: 使用%TYPE与%ROWTYPE可以根据已有类型定义变量. PL/SQL是一种强类型的编程语言,所有的变量都必须在它声明之后才可以使用,变量都要求在DECLARE部分进行声明,而对于变量的名称也有如下的一些规定: 变量名称的组成可以由字母.数字._.$.#等组成: 所有的变量名称要求以字母开头,不能是Oracle中的保留字(关键字): 变量的长度最多只能为30个字符. 声明变量的语法 所有的变量都要求在DE…
IF条件 declare cursor s is            select version from city_server t;   s_ city_server.version%type; begin   open s;   fetch s into s_;         if s_>2            then         DBMS_OUTPUT.put_line(s_);         end if;   close s; end; LOOP循环 declare …
1._rowid 类似Oracle的rowid mysql> ; +-------+----+----------------+-------------+---------------+------------+ | rowid | ID | Name | CountryCode | District | Population | +-------+----+----------------+-------------+---------------+------------+ | | | K…
1.MySQL的历史,一些相关概念. 2.MySQL数据类型 *通常一个页内可以存放尽可能多的行,那么数据库的性能就越好,选择一个正确的数据类型至关重要. 1>UNSIGNED类型: 将数字类型无符号化. 2>ZEROFILL: 可以格式化整形显示,一旦启用该属性,MySQL数据库为列自动添加UNSIGNED属性.0填充. 3>日期和时间类型 日期数据类型占用空间的情况 类型 起始范围 结束范围 DATETIME 1000-01-01 00:00:00 9999-12-31 23:59:…