我还是新的存储过程。在存储过程中执行时语法不正确返回
任何人都可以帮助并告诉我这有什么问题吗?
Create PROCEDURE [dbo].[spCreateProductionReport]
@whereClause nvarchar(max)
As
Begin
declare @id int, @itemNum nvarchar(20), @datetimestamp datetime, @tStations_id int
declare @counter int, @itemNumPrev nvarchar(20)
set @counter = 0
set @itemNumPrev =''
set @whereClause = ''
SET NOCOUNT ON;
create table #Temp
(
id int,
itemNum nvarchar(20),
tStations_id int,
datetimestamp datetime,
groupID int
)
DECLARE db_cursor CURSOR FOR
select id,itemNo,tstations_id,datetimestamp
from
tProduction_Count @whereClause
--where datetimestamp between '2017-03-16 00:00:00' and '2017-03-16 23:59:59'
ORDER BY id ASC
OPEN db_cursor
FETCH NEXT FROM db_cursor INTO @id, @itemNum,@tStations_id, @datetimestamp
我得到的错误是: '消息102,级别15,状态1,过程spCreateProductionReport,行42 附近有语法错误@WhereClause'。'
@whereClause变量是一个参数,还是你忘记'声明'它? – Norsk
它应该是一个参数,我将使用whereClause从前端获取字符串/文本并将其用作此处的筛选器 – MichaelJ