小光网络技术博客

介绍和研究搜索引擎优化、SEO、asp、asp.net、php、jsp技术

« 用PHP来实现页面GZIP的压缩输PHP的语言层面的优化以及代码优化技巧 »

SQL语法之存储过程与触发器

注:MSSQLServer2000
  1. 存储过程分为两大类:
    (1)系统存储过程
    (2)用户定义的存储过程,分为:临时~,本地~,远程~,扩展~
  2. 创建存储过程
    CREATE PROC[EDURE] procedure_name [;number]
    [{@parameter data_type}[=default][OUTPUT]][,...n]
    [WITH {RECOMPILE|ENCRYPTION|RECOMPILE,ENCRYPTION}]
    AS sql_statement[...n]
  3. 执行存储过程
    [[EXEC[UTE]]
    {
    [@return_status=]
    {procedure_name[;number]|@procedure_name_var}
    [[@parameter=]{value|@variable[OUTPUT]|[DEFAULT]}]
    [,...n]
    ]
  4. 修改存储过程
    ALTER PROC[EDURE] procedure_name [;number]
    [{@parameter data_type} [=default][OUTPUT]][,...n]
    [WITH {RECOMPILE|ENCRYPTION|RECOMPILE,ENCRYPTION}]
    AS
        sql_statement[...n]
  5. 删除存储过程
    DROP PROCEDURE {procedure_name}[,...n]
  6. 查看存储过程
    sp_helptext [@objname=]'procedure_name'
    sp_help[@objname=]'procedure_name'
    sp_depends[@objname=]'table_name'
    sp_depends[@objname=]'procedure_name'
  7. 创建触发器
    CREATE TRIGGER trigger_name
    ON {table|view}[WITH ENCRYPTION]
    {
      {{FOR|AFTER|INSTEAD OF}{[DELETE][,][INSERT][,][UPDATE]}
      [NOT FOR REPLICATION]
        AS
        {IF UPDATE(column)[{AND|OR} UPDATE(column)][...n]}
        sql_statement[...n]
      }
    }
  8. 修改触发器名称
    sp_rename old_trigger_name,new_trigger_name
  9. 修改触发器
    ALTER TRIGGER trigger_name
    ON {table|view}[WITH ENCRYPTION]
    {
      {{FOR|AFTER|INSTEAD OF}{[DELETE][,][INSERT][,][UPDATE]}
      [NOT FOR REPLICATION]
        AS
        {IF UPDATE(column)[{AND|OR} UPDATE(column)][...n]}
        sql_statement[...n]
      }
    }
  10. 修改触发器有效性
    ALTER TABLE table_name
    [DISABLE|ENABLE] TRIGGER trigger_name
  11. 删除触发器
    DROP TRIGGER trigger_name[,...n]
  12. 查询触发器信息
    sp_help trigger_name
    sp_helptext trigger_name
    sp_helptrigger table_name,[type]  其中,type必须是INSERT、UPDATE、DELETE三者之一

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

日历

最新评论及回复

最近发表

Powered By Sam

Copyright 2007-2008 小光. Some Rights Reserved.