获取影响行数和ID的存储过程
方法一:
1
DECLARE @SQL NVARCHAR(256)
2
DECLARE @ReturnID INT
3![](/Images/OutliningIndicators/None.gif)
4
SET @SQL = 'SELECT [InfoID] FROM TM_TeachInfo WHERE [CourseID]=1 and [infosort]=1'
5![](/Images/OutliningIndicators/None.gif)
6
EXEC(@SQL)
7![](/Images/OutliningIndicators/None.gif)
8
SELECT @ReturnID = @@Rowcount
9![](/Images/OutliningIndicators/None.gif)
10
SELECT @ReturnID
![](/Images/OutliningIndicators/None.gif)
2
![](/Images/OutliningIndicators/None.gif)
3
![](/Images/OutliningIndicators/None.gif)
4
![](/Images/OutliningIndicators/None.gif)
5
![](/Images/OutliningIndicators/None.gif)
6
![](/Images/OutliningIndicators/None.gif)
7
![](/Images/OutliningIndicators/None.gif)
8
![](/Images/OutliningIndicators/None.gif)
9
![](/Images/OutliningIndicators/None.gif)
10
![](/Images/OutliningIndicators/None.gif)
方法二:
1
ALTER PROCEDURE UP_TM_TeachInfo_Exists_ByStr
2
@strWhere varchar(1000)
3
AS
4
DECLARE @ReturnID int
5
DECLARE @Sql nvarchar(400)
6
7
set @sql = 'SELECT @ReturnID = count(1) FROM TM_TeachInfo WHERE 1=1 and '+@strWhere
8
exec sp_executesql @sql,N'@ReturnID int out',@ReturnID out
9
10
IF @ReturnID = 0
11
RETURN 0
12
ELSE
13
set @sql = 'SELECT @ReturnID = [InfoID] FROM TM_TeachInfo WHERE 1=1 and '+@strWhere
14
exec sp_executesql @sql,N'@ReturnID int out',@ReturnID out
15
RETURN @ReturnID
![](/Images/OutliningIndicators/None.gif)
2
![](/Images/OutliningIndicators/None.gif)
3
![](/Images/OutliningIndicators/None.gif)
4
![](/Images/OutliningIndicators/None.gif)
5
![](/Images/OutliningIndicators/None.gif)
6
![](/Images/OutliningIndicators/None.gif)
7
![](/Images/OutliningIndicators/None.gif)
8
![](/Images/OutliningIndicators/None.gif)
9
![](/Images/OutliningIndicators/None.gif)
10
![](/Images/OutliningIndicators/None.gif)
11
![](/Images/OutliningIndicators/None.gif)
12
![](/Images/OutliningIndicators/None.gif)
13
![](/Images/OutliningIndicators/None.gif)
14
![](/Images/OutliningIndicators/None.gif)
15
![](/Images/OutliningIndicators/None.gif)