Try this if it helps you.
CREATE FUNCTION [dbo].[fnSplit]
(
@sInputList VARCHAR(8000) -- List of delimited items
, @sDelimiter VARCHAR(8000) = ',' -- delimiter that separates items
) RETURNS @List TABLE (item VARCHAR(8000))
BEGIN
DECLARE @sItem VARCHAR(8000)
WHILE CHARINDEX(@sDelimiter,@sInputList,0) <> 0
BEGIN
SELECT
@sItem=SUBSTRING(@sInputList,1,CHARINDEX(@sDelimiter,@sInputList,0)-1),
@sInputList=SUBSTRING(@sInputList,CHARINDEX(@sDelimiter,@sInputList,0)+DATALENGTH(@sDelimiter),DATALENGTH(@sInputList))
IF LEN(@sItem) > 0
INSERT INTO @List SELECT @sItem
ELSE IF LEN(@sItem) = 0
INSERT INTO @List SELECT NULL
END
IF LEN(@sInputList) > 0
INSERT INTO @List SELECT @sInputList -- Put the last item in
RETURN
END
GO
CREATE PROCEDURE [dbo].[TestMulJobsSave]
(
@JobIDANdAcctID VARCHAR(MAX),
@createdby VARCHAR(100) = Null,
@ModifiedBy VARCHAR(100) = Null
)
AS
Begin
Insert into [TestMulJobs] (JobID,AcctID,CreatedBy,CreatedDate,ModifiedBy,ModifiedDate)
SELECT SUBSTRING(Item,1,CHARINDEX('-',Item)-1),SUBSTRING(Item,CHARINDEX('-',Item)+1,LEN(ITEM)),@CreatedBy,@ModifiedBy FROM TEST.dbo.fnSplit(@JobIDANdAcctID,',')
End
GO
EXEC TEST..[TestMulJobsSave] '5654-7,5723-8,5824-3,5654-7',1,1
Regards,
Vijay