1、首先在数据库中建立函数
CREATE FUNCTION [dbo].[Split] ( @c VARCHAR(MAX) , @split VARCHAR(50) ) RETURNS @t TABLE ( col VARCHAR(50) ) AS BEGIN WHILE ( CHARINDEX(@split, @c) <> 0 ) BEGIN INSERT @t( col ) VALUES ( SUBSTRING(@c, 1, CHARINDEX(@split, @c) - 1) ) SET @c = STUFF(@c, 1, CHARINDEX(@split, @c), '') END INSERT @t( col ) VALUES ( @c ) RETURN END
2、再建立存储过程
USE [iLearning]GO/****** Object: StoredProcedure [dbo].[usp_delete_courses] Script Date: 04/26/2013 13:52:56 ******/SET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGOcreate proc [dbo].[usp_delete_courses]@ids varchar(max)as update t_course_addition set isactive='N',updatetime=getdate() where id in (select * from Split(@ids,','));update t_course_comment set isactive='N',updatetime=getdate() where courseid in (select * from Split(@ids,','));update t_course_previewimage set isactive='N',updatetime=getdate() where courseid in (select * from Split(@ids,','));update t_course set isactive='N',updatetime=getdate() where id in (select * from Split(@ids , ','));GO
3、最后,在DAL中调用:
var objectParm = new[] { new ObjectParameter("ids", deleteIdStr) }; return db.ExecuteFunction("iLearningEntities.usp_delete_courses", objectParm);