CREATE PROCEDURE spClientGetCNWinImportantProject
@PrevDateTime datetime,
@NextDateTime datetime,
@FromDbName nvarchar(50),
@ToDbName nvarchar(50),
@Type varchar(20)
AS
declare @Str varchar(5000)
declare @recordcount int
BEGIN TRANSACTION tranInStoreMaterialInfoRep
SET @Str = N 'select @recordcount = count(ProjectID) from [ '[email protected]+ '].[dbo].[CNWinImportantProject] where ProjectStartDate=[ '[email protected]+ '] and ProjectEndDate =[ '[email protected]+ '] and Type= '[email protected]+ ' '
exec sp_executesql @Str, N '@recordcount int output ', @recordcount output
if (@recordcount =0)
begin
EXEC( 'INSERT INTO [ '[email protected]+ '].[dbo].[CNWinImportantProject](
ProjectID,
ProjectStartDate,
ProjectEndDate,
ConferTotalCost,
CNWinTotalCost,
Type,
IsUpload,
BelongMonth
)
select projectid, '[email protected]+ ', '[email protected]+ ',0,0, '[email protected]+ ',0,0
from [ '[email protected]+ '].[dbo].[SystemInitialize] ')
end
--如果更新失败则回滚事务
IF @@error <> 0
BEGIN
ROLLBACK TRANSACTION tranInStoreMaterialInfoRep
RETURN -1
END
COMMIT TRANSACTION tranInStoreMaterialInfoRep
RETURN 1
GO
错误1:服务器: 消息 241,级别 16,状态 1,过程 spClientGetCNWinImportantProject,行 12
从字符串转换为 datetime 时发生语法错误。
错误2:服务器: 消息 170,级别 15,状态 1,行 11
第 11 行: '1 ' 附近有语法错误。
------解决方案--------------------
ProjectStartDate=[ ' ' '[email protected]+ ' ' '] and ProjectEndDate =[ ' ' '[email protected]+ ' ' '] and Type= '[email protected]+ ' '