SqlServer系列笔记――存储过程
存储过程---就像数据库中运行方法(函数) 定义 是一组预编译好的完成特定功能的SQL语句 是存储在服务器上的一个对象 可通过对象名来调用 和C#里的方法一样,由存储过程名/存储过程参数组成/可以有返回结果。 前面学的if else/while/变量 等,都可以在存储过程中使用 优点: 执行速度更快 在数据库中保存的存储过程语句都是编译过的 允许模块化程序设计? 提高系统安全性 防止sql注入 减少网络流通量 系统 存储过程 由系统定义,存放在master数据库中 名称以“sp_”开头或”xp_”开头 自定义存储过程 由用户在自己的数据库中创建的存储过程 系统存储过程说明 sp_databases列出服务器上的所有数据库。 sp_helpdb报告有关指定数据库或所有数据库的信息 sp_renamedb更改数据库的名称 sp_tables返回当前环境下可查询的对象的列表 sp_columns回某个表列的信息 sp_help查看某个表的所有信息 sp_helpconstraint查看某个表的约束 sp_helpindex查看某个表的索引 sp_stored_procedures列出当前环境中的所有存储过程。 sp_password添加或修改登录帐户的密码。 sp_helptext显示默认值、未加密的存储过程、用户定义的存储过程、触发器或视图的实际文本。 定义存储过程的语法 CREATE ?PROC[EDURE] ?存储过程名? ? ? @参数1 ?数据类型 = 默认值 OUTPUT, ?? ? @参数n ?数据类型 = 默认值 OUTPUT ? ? AS ? ? ? ? EXEC ?过程名 ?[参数] 无参数的存储过程调用: Exec pro_GetAge 有参数的存储过程两种调用法: EXEC proGetPageData 60,55 ---按次序 EXEC proGetPageData @labPass=55,@writtenPass=60 --参数名 定义存储过程的指导原则 存储过程的名称必须遵守标识符的命名规则 存储过程中可以创建所有数据库对象,但视图、存储过程和触发器除外。 创建对象后,就可以在过程内部进行引用。 在存储过程中可使用2100个参数 只要内存空间足够,可以在存储过程中创建任意多个局部变量。 存储过程可以引用临时表 。 重命名存储过程 sp_rename oldname,newname 修改存储过程 alter procedure proc_name as sql_statement 删除存储过程 drop procedure proc_name (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |