Sql Server 存储进程是一种用来实现特定功能的数据库服务器脚本,一次编制的存储进程可以屡次履行,存储进程可以帮助管理员简化数据库管理工作,提高查询效力和方便系统管理,和对数据进行处理和分析。本文介绍怎样使用MSSQL存储进程实现STBSTR(Store Braked String)复杂查询。
STBSTR是一种可以通过设定一个固定分割位置和字符串长度,将字符串的每个分割结果存在指定的变量上的复杂操作。STBSTR的输入值是一个带有分割符号的字符串,它用一个以分隔符正确分割的结果,做出了一个或多个变量值,而每个变量值与分割符号之间逐一对应。
假定有一个字符串值被STBSTR处理,分隔符是“;”(分号),要将字符串中的Kendra、John、Ben三个名字分别转换为kendra、john、ben三个变量,那末可以编写以下MSSQL存储进程。
CREATE PROCEDURE [dbo].[proc_STBSTR](@str varchar(255),@v1 varchar(50) Output,@v2 varchar(50) Output,@v3 varchar(50) Output)
AS
BEGIN
DECLARE @str1 varchar(255),@str2 varchar(255),@str3 varchar(255)
SET @str1 = Substring(@str,1,charindex(‘;’,@str)⑴)
SET @str2 = Substring(@str,charindex(‘;’,@str)+1,charindex(‘;’,@str,charindex(‘;’,@str)+1)-charindex(‘;’,@str)⑴)
SET @str3 = Substring(@str,charindex(‘;’,@str,charindex(‘;’,@str)+1)+1,len(@str)+1)
SET @v1= lower(@str1)
SET @v2= lower(@str2)
SET @v3= lower(@str3)
END
使用上面的存储进程可以将“Kendra;John;Ben”字符串转换为三个变量:kendra、john和ben,同时还可以通过修改变量实现区别的功能。
另外,也能够使用其他函数来实现STBSTR,比如使用MSSQL中的名为“Parsename”的函数:
CREATE PROCEDURE [dbo].[proc_STBSTR_parsename](@str varchar(255),@v1 varchar(50) Output,@v2 varchar(50) Output,@v3 varchar(50) Output)
AS
BEGIN
SET @v1= lower(parsename(@str,1))
SET @v2= lower(parsename(@str,2))
SET @v3= lower(parsename(@str,3))
END
通过这样的存储进程,可以实现STBSTR的功能,极大的减少了编码时间,提高开发效力。
综上所述,MSSQL存储进程是一种非常有用的数据库开发技术,可使用它来实现复杂的STBSTR查询,从而节省程序开发时间,提高开发效力。
本文来源:https://www.yuntue.com/post/202817.html | 云服务器网,转载请注明出处!

微信扫一扫打赏
支付宝扫一扫打赏