sqlserver 2008 存储过程调用存储过程或方法
2013-08-27 10:05
309 查看
函数:拆分字符串,并返回一个table
CREATE FUNCTION [dbo].[f_splitSTR](
@s varchar(max), --待分拆的字符串
@split varchar(10) --数据分隔符
)RETURNS @re TABLE(col1 varchar(100))
AS
BEGIN
DECLARE
@splitlen int
SET @splitlen=LEN(@split+'a')-2
WHILE CHARINDEX(@split,@s)>0
BEGIN
INSERT @re VALUES(LEFT(@s,CHARINDEX(@split,@s)-1))
SET @s=STUFF(@s,1,CHARINDEX(@split,@s)+@splitlen,'')
END
INSERT @re VALUES(@s)
RETURN
END
调用上面函数的存储过程:
CREATE PROCEDURE [dbo].[spAddFileCate]
@Fileid bigint,@cateid int,@othercateid nvarchar(1000)
as
begin
insert into FILE_CATEGORY_MAPPING(FILEID,CATEGORY_ID)values(@Fileid,@cateid)
if(@othercateid<>'')
begin
insert into FILE_CATEGORY_MAPPING(CATEGORY_ID,FILEID) select *, @Fileid from f_splitSTR(@othercateid,';')
end
end
GO
调用上面存储过程的存储过程
CREATE PROCEDURE spGetFileCate
@FileID bigint
AS
BEGIN
select * from FILE_CATEGORY_MAPPING where FILEID=@FileID;
exec [dbo].[spAddFileCate] @FileID,'4','5;6;7'
END
CREATE FUNCTION [dbo].[f_splitSTR](
@s varchar(max), --待分拆的字符串
@split varchar(10) --数据分隔符
)RETURNS @re TABLE(col1 varchar(100))
AS
BEGIN
DECLARE
@splitlen int
SET @splitlen=LEN(@split+'a')-2
WHILE CHARINDEX(@split,@s)>0
BEGIN
INSERT @re VALUES(LEFT(@s,CHARINDEX(@split,@s)-1))
SET @s=STUFF(@s,1,CHARINDEX(@split,@s)+@splitlen,'')
END
INSERT @re VALUES(@s)
RETURN
END
调用上面函数的存储过程:
CREATE PROCEDURE [dbo].[spAddFileCate]
@Fileid bigint,@cateid int,@othercateid nvarchar(1000)
as
begin
insert into FILE_CATEGORY_MAPPING(FILEID,CATEGORY_ID)values(@Fileid,@cateid)
if(@othercateid<>'')
begin
insert into FILE_CATEGORY_MAPPING(CATEGORY_ID,FILEID) select *, @Fileid from f_splitSTR(@othercateid,';')
end
end
GO
调用上面存储过程的存储过程
CREATE PROCEDURE spGetFileCate
@FileID bigint
AS
BEGIN
select * from FILE_CATEGORY_MAPPING where FILEID=@FileID;
exec [dbo].[spAddFileCate] @FileID,'4','5;6;7'
END
相关文章推荐
- 基于C#中的类SqlCommand对象调用SQLServer存储过程时,存储过程执行成功,但是对象方法ExecuteNonQuery()返回-1
- SQLServer 中存储过程返回的三种方式( 包括存储过程的创建, 在存储过程中调用, 在VS中调用的方法)
- sqlserver,获取调用存储过程返回数据的方法。
- C#中的类SqlCommand对象使用方法ExecuteNonQuery()调用SQLServer存储过程时,存储过程执行成功,数据发生改变,但是返回-1
- sqlserver在调用存储过程中遇到convert转换失败问题的解决方法
- SQLServer 中存储过程返回的三种方式( 包括存储过程的创建, 在存储过程中调用, 在VS中调用的方法)
- SQLServer 中存储过程返回的三种方式( 包括存储过程的创建, 在存储过程中调用, 在VS中调用的方法)
- 润乾报表v5调用sqlserver存储过程数据集接收报表参数为空值的判断注意事项
- 解析在ASP.NET中调用存储过程的方法
- 分页存储过程及调用方法
- hibernate的update() 更新延迟或者无法更新,导致同个service调用存储过程执行方法不精确
- php调用mysql存储过程和函数的方法
- 调用存储过程的一些方法
- java编程调用存储过程中得到新增记录id号的实现方法
- 调用存储过程并且使用返回值的基本方法
- .NET中统一的存储过程调用方法(收藏)
- Sql Server 中带参数的存储过程及在Reporting Services 中的调用方法
- SQL Sever 2008配置工具中过程调用失败解决方法
- 存储过程和SQL语句比较及存储过程在C#中调用方法(转)
- 存储过程或自定义函数调用存储过程的变通实现方法