前言:
在实际环境中,会有很多开发人员正在对一个项目编写SQL脚本,此时需要对对象的命名经行强制限定。完成这个任务可以使用强制的一些策略来实现。
合理的命名对象并不仅仅是处于维护需要,有时候也能影响性能,限定数据库的命名对象将能避免一些性能问题。通常SP_是用于SQLServer系统存储过程,但是一些程序员会尝试将其作为自定义存储过程的命名。
下面我们将演示如何使用策略,来限定SP_前缀,让其只属于SQLServer系统存储过程的命名规则。
准备工作:
需要有sysadmin角色的权限登录。
步骤:
1、 连到SQLServer,并右键【策略】,点击【新建策略】,如图:
2、 输入策略名:Stored Procedure Naming Convertion,并选择【新建条件】:
3、 输入Stored Procedure Naming作为名称,并在【方面】中选择【多部分名称】
然后输入图中的表达式:
4、 点击【确定】以后,在【评估模式】中选择【更改时:禁止】,然后点击启用。
5、 现在尝试创建自定义存储过程:
USE AdventureWorks
GO
CREATE PROC sp_SelectProc
AS
SELECT 1
GO
6、 因为策略的影响,会看到如下的情况:
这里有个小插曲,原著上并不提及,当我没有在第五步中添加use AdventureWorks的时候,直接执行会报错:
消息233,级别20,状态0,第0 行
在向服务器发送请求时发生传输级错误。(provider: 共享内存提供程序, error: 0 - 管道的另一端上无任何进程。)
百思不得其解,在网上搜了一下类似的错误,发现别人的代码少了一些GO之类的语句,然后我就尝试把代码完善,加上了use,结果就可以执行了,暂时未有官方解释,我也尝试禁用了策略后执行,也没错,所以我觉得编程规范在这里显示的特别重要,另外我也尝试了use语句注销掉,但是不删除,依然能够执行,估计SQLServer还是检测到了。
7、 现在把存储过程名换成别的名字,将不会发生任何错误(当然如果存储过程名字已经存在或者有其他语法错误,还是会报错,但是于策略无关):
USE AdventureWorks
GO
CREATE PROC usp_SelectProc
AS
SELECT 1
GO
分享到:
相关推荐
本文是C#课程中的第18章——数据库开发,
数据库程序设计—— SQL Server 2000 数据库程序设计,有完整的文档教程及幻灯,共22章: 第1章 SQL Server 概述 第2章 创建和管理数据库 第3章 创建数据类型和表 第4章 实现数据完整性 第5章 ...
班级: 成员: 学院: 班级: 成员: ——超市管理系统——超市管理系统数据库课程设计数据库课程设计 ——超市管理系统 ——超市管理系统 数据库课程设计 数据库课程设计 数据库大作业全文共18页,当前为第2页。...
第二章 编程环境基础知识 2 2.1 ASP简介 2 2.1 ASP内部6大对象及其功能 3 2.2IIS简介 3 2.3数据库系统简介 3 2.3.1数据库 3 2.3.2数据库管理系统 3 2.3.3数据模型 4 第三章 需求分析 5 3.1功能需求 5 3.2...
第一章 建立ASP的运行平台 第二章 HTML语言入门 第三章 ...Recordset对象——存取数据库的对象 第九章 会员登录系统实例 第十章 访客留言板实例 第十一章 网络聊天室实例 第十二章 网络讨论区实例
第18章 分区 . 第19章 oracle 基本安全 第ⅲ部分 高 级 主 题 第20章 高级安全性——虚拟专用数据库 第21章 高级安全性:透明数据加密 第22章 使用表空间 第23章 用sql*loader 加载数据 第24章 使用...
题 号 一 二 三 四 五 六 七 八 九 十 总分 评卷得分 评卷签名 复核得分 复核签名 一、填空题(每题1分,共10分) 1、数据库领域中最常用的数据模型有 、 、 和面向...
第18章 Oracle基本安全 第Ⅲ部分 高级内容 第19章 高级安全性—— 虚拟专用数据库 第20章 使用表空间 第21章 用SQL*Loader加载数据 第22章 使用Data Pump导入和导出 第23章 访问远程数据 第24章 使用物化视图 第25章...
第8章 层标记——div 161 教学录像:33分钟 8.1 层 162 8.1.1 层的分类 162 8.1.2 定义数据块 162 8.2 <div>标签 163 8.2.1 <div>标签的简介 163 8.2.2 <div>标签的属性 164 ...
4.2.1 后台管理框架图 18 4.2.2 详细描述 19 4.3 数据库设计 21 第五章 系统的实现 24 5.1 信息发布模块实现 24 5.2商品展示模块实现。 26 5.3 留言版实现 27 5.4后台登陆页面实现 28 5.5 新闻管理实现 30...
第二章 网络书店销售管理系统概述 2 §2.1系统开发背景 2 §2.2选题的目的和意义 2 §2.3系统概况 3 §2.4系统在国内外发展的概况 3 第三章 系统需求分析 5 §3.1业务及用户需求分析 5 §3.2系统可行性分析 6 §...
导航控件与ImageMap控件 第14章 WebPart设计范例——使用UserControl 第15章 高级范例——电子商城 第16章 高级范例——会员与订单处理机制 第17章 高级范例——购物车与在线付款机制 第18章 ...
第2章 系统分析 4 2.1 系统的需求分析 4 2.2 业务流程分析 5 2.2.1 系统管理员业务流程分析 5 2.3 数据流程分析 7 2.3.1 图书类别管理模块 7 2.3.2 图书管理模块 7 2.3.3 读者管理模块 8 2.3.5 修改密码模块 8 2.4 ...
导航控件与ImageMap控件 第14章 WebPart设计范例——使用UserControl 第15章 高级范例——电子商城 第16章 高级范例——会员与订单处理机制 第17章 高级范例——购物车与在线付款机制 第18章 ...
第一章 图书馆管理系统的可行性分析……………………………………2 §1.1系统要求………………………………………………………………2 §1.2系统技术可行性分析…………………………………………………2 §1.3系统...
第1章 Python基础知识,第2章 序列应用——猜单词游戏、第3章 数据库应用--智力问答测试、第4章 调用百度API应用——小小翻译器 、第5章 爬虫应用——校园网搜索引擎、第6章 爬虫应用——抓取百度图片。。。。。第17...
第一条 本规则依据XXXXXXXXXXXX厂(以下简称本厂)组织规程第十八条的规定制定,以达高度运用人力,提高经营绩效之目的。 第二条 凡本厂员工人事管理除另有规定外,悉依据本制度规定办理。 第二章 任 用 第一条 ...
本书分为三部分。 目录回到顶部↑前言 ...第18章 Qt插件 第19章 脚本——QtScript 第20章 国际化 第21章 Qt单元测试框架 附录A Qt安装 附录B Qt集成开发环境 附录C qmake速查 附录D 深入Qt源代码 附录E Qt资源
第18章 分区 . 第19章 oracle 基本安全 第ⅲ部分 高 级 主 题 第20章 高级安全性——虚拟专用数据库 第21章 高级安全性:透明数据加密 第22章 使用表空间 第23章 用sql*loader 加载数据 第24章 使用...