易截截图软件、单文件、免安装、纯绿色、仅160KB

ORACLE PL/SQL子程序

温故而知新,果然如此呀,第二次再翻开同样的内容果然有不同的收获,有些是第一次看的时候没有仔细理解的,还有些可能是在第一次看匆匆就跳过的,当然,可能还有部分是自己当时记住了完了又给忘记了。今天第二次看到子程序这一章节,发现了些新的内容,呵呵。在这里我就写下一些基本内容和容易忘记的,免得下次又给忘了。内容可能不太全面,有点针对我个人哦,呵呵!
1.创建子程序的语法
创建过程
CREATE [OR REPLACE] PROCEDURE procedure_name
[(argument [{IN | OUT| IN OUT}] type,
...
argument [{IN | OUT| IN OUT}] type)]
{IS | AS} --IS和AS没区别
procedure_body

创建函数
CREATE [OR REPLACE] FUNCTION function_name
[(argument [{IN | OUT| IN OUT}] type,
...
argument [{IN | OUT| IN OUT}] type)]
RETURN return_type {IS | AS} --IS和AS没区别
procedure_body

2.参数模式
IN 
调用过程的时候,实际参数的值就会传递到该过程中。在过程内部,形式参数就像PL/SQL的常量一样--它会被看作是只读且不能修改的。当过程执行完毕,程序的控制返回到调用环境的时候,实际参数的值不会有任何变化。
OUT
调用过程的时候,会忽略所有实际参数的值。在过程内部,形式参数就像未初始化的PL/SQL变量一样,也会有一个NULL值。形式参数的值既可以读取,也可以写入。过程执行完成以后,控制就会返回到调用环境,同时会将形式参数的值赋给实际参数。
IN OUT
这是IN和OUT的复合模式。调用过程的时候,实际参数的值会传递到过程中。在过程内部,形式参数就像初始化以后的变量,可以读取和写入。过程结束以后,控制会返回到调用环境,同时会将形式参数的内容分配给实际参数。
3.以传值和传引用的方式传递参数
传递子程序参数的方式有两种--传值和传引用。当以引用的方式传递参数的时候,就将指向实际参数的一个指针传递到相应的形式参数。另一方面,当以传值的方式传递参数的时候,就将实际参数的值复制到相应的形式参数。以引用的方式传递参数通常会更快,因为它避免了复制。对集合类型的参数而言,这表现更加明显,因为集合类型的数据一般都非常多。
默认情况下,PL/SQL对IN参数都使用传引用的方式,而对IN OUT和OUT参数都使用传值的方式。
1)NOCOPY的使用方法
parameter_name [mode] NOCOPY datatype
其中parameter_name是参数的名称,mode是参数模式,而datatype


相关文档:

sql大全


. SQL 命令
这部分包含那些 PostgreSQL 支持的 SQL 命令的信息.这里的 "SQL" 就是该语言通常的含义; 每条命令的与标准有关的兼容性的信息可以在相关的参考页中找到.
Table of Contents
ABORT --  退出当前事务
ALTER GROUP --  向组中增加用户或从组中删除用户 
ALTER USER --  改变数据库 ......

sql 全文索引

1、要启用全文索引功能首先需要安装full text search全文索引服务
2、启动full text search服务
3、先创建Unique索引和全文索引:CREATE FULLTEXT INDEX ON table_name
4、每个表只允许创建一个全文索引
删除全文索引 DROP FULLTEXT INDEX ON table_name
全文搜索语句,contains(),freeText()
注 ......

sql小计汇总 rollup用法实例分析

 这里介绍sql server2005里面的一个使用实例:
CREATE TABLE tb(province nvarchar(10),city nvarchar(10),score int)
INSERT tb SELECT '陕西','西安',3
UNION ALL SELECT '陕西','安康',4
UNION ALL SELECT '陕西','汉中',2
UNION ALL SELECT '广东','广州',5
UNION ALL SELECT '广东','珠海',2
UNION ......

SQL存储过程测试(9)——示例程序

      此部分内容创建一个轻量级T-SQL测试套件,总共有3个脚本:
用于创建测试平台数据和待测存储过程的脚本
--======================
--makeDbTestAndResults.sql
use master
go
if exists (select * from sysdatabases where name = 'DbTestAndResults')
 drop database makeDbTes ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号