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

SQL存储过程学习


  本文从SQL存储过程的概念,优点,语法,创建技巧,调用等多方面介绍了SQL存储过程。
  一、SQL存储过程的概念,优点及语法
   定义:将常用的或很复杂的工作,预先用SQL语句写好并用一个指定的名称存储起来, 那么以后要叫数据库提供与已定义好的存储过程的功能相同的服务时,只需调用execute,即可自动完成命令。
  那么存储过程与一般的SQL语句有什么区别呢?
  存储过程的优点:
  1.存储过程只在创造时进行编译,以后每次执行存储过程都不需再重新编译,而一般SQL语句每执行一次就编译一次,所以使用存储过程可提高数据库执行速度。
  2.当对数据库进行复杂操作时(如对多个表进行Update,Insert,Query,Delete时),可将此复杂操作用存储过程封装起来与数据库提供的事务处理结合一起使用。
  3.存储过程可以重复使用,可减少数据库开发人员的工作量
4.安全性高,可设定只有某此用户才具有对指定存储过程的使用权
  存储过程的种类:
  1.系统存储过程:以sp_开头,用来进行系统的各项设定.取得信息.相关管理工作,
  如 sp_help就是取得指定对象的相关信息
  2.扩展存储过程 以XP_开头,用来调用操作系统提供的功能
  以下为引用的内容:
  exec master..xp_cmdshell 'ping 10.8.16.1'
  3.用户自定义的存储过程,这是我们所指的存储过程
  常用格式
  以下为引用的内容:
  Create procedure procedue_name
  [@parameter data_type][output]
  [with]{recompile|encryption}
  as
  sql_statement
解释:
  output:表示此参数是可传回的
  with {recompile|encryption}
  recompile:表示每次执行此存储过程时都重新编译一次
  encryption:所创建的存储过程的内容会被加密
  二、SQL存储过程学习:存储过程的创建
  表book的内容如下
  编号     书名      价格
  001    C语言入门     $30
  002  PowerBuilder报表开发  $52
  实例1:查询表Book的内容的存储过程
  create proc query_book
  as
  select * from book
  go
  exec query_book
  实例2:加入一笔记录到表book,并查询此表中所有书籍的总金额
  Create proc insert_book
  @param1 char(10),@param2 varchar(20),@param3 money,@param4 money output
  wit


相关文档:

批处理SQL 文件

@echo off
rem Input Parameters:
rem 1 -Server Name
rem 2 -Database Name
if "%1"=="" goto ERROR
if "%2"=="" goto ERROR
@rem Make variables local
@Setlocal
@rem set variables from input parameters
set Server=% 1
set DBName=% 2
@rem------------------------------------------------------------ ......

50个常用sql语句

50个常用sql语句
Student(S#,Sname,Sage,Ssex) 学生表
Course(C#,Cname,T#) 课程表
SC(S#,C#,score) 成绩表
Teacher(T#,Tname) 教师表
问题:
1、查询“001”课程比“002”课程成绩高的所有学生的学号;
  select a.S# from (select s#,score from SC where C#='001') a,(select s#,sc ......

SQL命令查询Oracle存储过程信息(代码内容等)

SELECT * from ALL_SOURCE 
where TYPE='PROCEDURE'  AND TEXT LIKE
'%0997500%';
--查询ALL_SOURCE中,(脚本代码)内容与0997500模糊匹配的类型为PROCEDURE(存储过程)的信息。
根据GROUP
BY TYPE
该ALL_SOURCE中只有以下5种类型
1 FUNCTION
2 JAVA
SOURCE
3 PACKAGE
4 P ......

SQL的几个编码规范


1.避免在where子句中对字段施加函数,这样将导致索引失效,比如:
select * from user where
to_char(create_time,'yyyymmdd')='20090101';
原因:在建立index的时候是根据字段来建立的,也就是说oracle在inidex的时候是索引的字段的值,如果提供给oracle的是一个需要经过函数处理的比较,oracle就没办法通过索引中的 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号