下班回来,在三香坐车.
一辆601,空调车.票价¥2. 太贵,还是等一块票价的车吧.
5分钟内没来一辆可以到彩虹的. 5分半,又是一辆601,还是空调. 不坐,继续等.
三分钟后,一辆20. 依稀记得上班是坐20去的,看来20肯定到住处. 上车,投币一元. ‘三块~’,司机拖长音. ‘啊?’想起来20好像是到西山的.
看见后面一辆31,赶紧下车. 上31,投币一元.
花了8分钟时间不算,钱还没少一块. 我咱这么笨的.
决定: 1.上班或者其他赶车时间不管票价. 2.空闲时间,只要视力范围内没有其他车,不问票价. 3.除非非常空闲,等便宜公交.
create PROCEDURE sp_Sort_insert
(
@sTable VARCHAR(255),
@iSortParentID int OUTPUT,
@sSortName NVARCHAR(255)
)
AS
BEGIN
SET NOCOUNT ON
DECLARE @iSortNum int
DECLARE @s varchar(4000)
SET @s='select @iSortNum=COUNT(0) FROM '+@sTable+' where SortID=@iSortParentID'
EXEC (@s)
--中间略
END
执行到exec报@iSortNum没有定义.询问得知exec启用了一个新线程,所以会说没有定义.
可是因为表是动态,又不能
select @iSortNum=COUNT(0) FROM '+@sTable+' where SortID=@iSortParentID
执行=_=
辛苦了一个下午的教训,白忙活了…
解决办法:
DECLARE @s NVARCHAR(4000)
SET @s=N'select @iSortNum=COUNT(0) FROM '+@sTable+' where SortID='+cast(@iSortParentID AS VARCHAR)
EXEC sp_executesql @s,N'@iSortNum int out',@iSortNum out
注意@s类型,varchar会错. 谢DLL:)