在存过程中使用了SET LOCK_TIMEOUT ,有什么办法使SET LOCK_TIMEOUT 1800中的1800可配置,类似于SET LOCK_TIMEOUT @p?
CREATE PROCEDURE SP_ORDR_TEST
@COUNTDATETIME datetime --计算时间
AS
BEGIN
Declare @msecond int;
set @msecond=5000;
SET NOCOUNT ON
set Lock_TimeOut @msecond
BEGIN TRANSACTION
……
CREATE PROCEDURE SP_ORDR_TEST
@COUNTDATETIME datetime --计算时间
AS
BEGIN
Declare @msecond int;
set @msecond=5000;
SET NOCOUNT ON
set Lock_TimeOut @msecond
BEGIN TRANSACTION
……
AS
BEGIN
Declare @msecond int;
Declare @SQL varchar(100);
set @msecond=5000;
set @SQL='set Lock_TimeOut '+LTRIM(@msecond ) ;
SET NOCOUNT ON
--Set Lock_TimeOut 5000
EXEC(@SQL);
BEGIN TRANSACTION print @@Lock_TimeOut;
END;
--------------------结果为-1
alter PROCEDURE SP_ORDR_TEST
AS
BEGIN
Declare @msecond int;
Declare @SQL varchar(100);
set @msecond=5000;
set @SQL='set Lock_TimeOut '+LTRIM(@msecond ) ;
SET NOCOUNT ON
Set Lock_TimeOut 5000
--EXEC(@SQL);
BEGIN TRANSACTION print @@Lock_TimeOut;
END;
--------------结果为5000
-----------------------------------貌似不行哦?????????
Declare @msecond int;
Declare @SQL varchar(100);
set @msecond=5000;
set @SQL='set Lock_TimeOut '+LTRIM(@msecond ) ;
SET NOCOUNT ON
--Set Lock_TimeOut 5000
EXEC(@SQL);
BEGIN TRANSACTION print @@Lock_TimeOut;
Declare @msecond int;
Declare @SQL varchar(100);
set @msecond=5000;
set @SQL='set Lock_TimeOut '+LTRIM(@msecond ) ;
SET NOCOUNT ON
Set Lock_TimeOut 5000
--EXEC(@SQL);
BEGIN TRANSACTION print @@Lock_TimeOut; 晕,我测试都一样啊