WEB开发网
开发学院软件开发VC 数据库中存储过程的自动化生成 阅读

数据库中存储过程的自动化生成

 2006-07-23 11:17:31 来源:WEB开发网   
核心提示: 创建这些设计时存储过程的第一步是相当的标准,定义存储过程,数据库中存储过程的自动化生成(9),声明变量,变量初始化,我们接着打开它并获取第一条记录,放在一个包含元数据信息的变量中,在建立其它存储过程之前,快速浏览这些代码是否有可疑之处

创建这些设计时存储过程的第一步是相当的标准。定义存储过程,声明变量,变量初始化。在建立其它存储过程之前,快速浏览这些代码是否有可疑之处。我们创建两个特别的字符串变量,一个保存 TAB 字符,另一个保存回车换行符。这些都可用 UDFs 来建立,但是我们决定不这样做,以便作为练习留给读者来完成。它们被用来辅助代码输出的格式化。让我们看一下这个过程的开始,如 Figure 4 所示。

再次,这里并没有什么 T-SQL 新发现。我们首先检查表是否有主键。这将防止我们的代码创建具有潜在危险的运行时存储过程。接着设置一些变量和默认值。存储过程首先为新过程建立 DROP 语句,避免存储过程已经存在,再创建一些注释,创建实际的存储过程定义(见 Figure 1 的前面几行)。你可以修改这些代码来创建还不存在的运行时存储过程(如果存在则什么都不做)。这个新特性将由第三个选项参数 @bIfExistsDoNothing 设置。我们将作为一个简单的练习留给读者。 

下一个代码片段开始创建动态 T-SQL 的过程。为了新存储过程的定义(见 Figure 5 ),添加删掉某个已存在的存储过程及定义新的存储过程的代码。注意如何使用第二个参数(可选) @bExecute 来确定我们是否要实际运行代码。在我们的自动化存储过程的定义中,这个参数是可选的,默认值为0,意味着并不实际执行代码。 

下一步我们将使用一个有趣的特性。我们使用 fnTableColumnInfo 用户定义函数作为游标的元数据,fnTableColumnInfo 是一个返回 table 值的函数。这个函数用来取代复杂的 T-SQL,在四个自动化存储过程中,仅仅在游标的声明中引用这个 UDF。声明游标后,我们接着打开它并获取第一条记录,放在一个包含元数据信息的变量中,我们就可以使用它来创建我们的新的存储过程(见 Figure 6 )。 

上一页  4 5 6 7 8 9 10  下一页

Tags:数据库 存储 过程

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接