2013-05-29 3 views
1
DECLARE 
     @empid INT 
    , @schedindate DATETIME 
    , @ss NVARCHAR(100) 
    , @indice NVARCHAR(3) 
    , @FromDate DATETIME 
    , @ToDate DATETIME 
    , @TimeInR NVARCHAR(20) 
    , @TimeOutR DATETIME,@day nvarchar(3) 

SELECT 
     @FromDate = '20090114' 
    , @ToDate = '20100130' 

DECLARE @temp TABLE 
(
     schedindate DATETIME 
    , TimeInR VARCHAR(10) 
    , TimeOutR VARCHAR(10) 
    , empid INT 
) 
delete from PayrollTEST.dbo.[table1] 
INSERT INTO @temp (schedindate, TimeInR, TimeOutR, empid) 
SELECT DISTINCT 
     schedindate 
    , TimeInR 
    , TimeOutR 
    , empid 
FROM dbo.ta_timecard 
WHERE schedindate BETWEEN @FromDate AND @ToDate 

DECLARE @ids TABLE(id BIGINT IDENTITY(1,1), emp BIGINT) 
INSERT INTO @ids (emp) 
SELECT DISTINCT empid 
FROM @temp 

INSERT INTO PayrollTEST.dbo.[table1](id, EmpID) 
SELECT id, emp 
FROM @ids 

DECLARE cc CURSOR LOCAL FAST_FORWARD READ_ONLY FOR 
    SELECT DISTINCT empid 
    FROM @temp 

OPEN cc 
FETCH NEXT FROM cc INTO @empid 

WHILE (@@fetch_status = 0) BEGIN 

    SELECT 
      @indice = (select DATEDIFF(day,@fromdate, t.SchedInDate)) 
     --, @TimeInR = t.TimeInR 
     , @schedindate = t.SchedInDate 
    , @day = dbo.ta_dayofweek(@schedindate) 
    FROM @temp t 
    WHERE empid = @empid 
print(@indice) 
print(@day) 
print(@schedindate) 
print(@TimeInR) 
-- SELECT @ss = 'update table1 set nod' + @indice 
--  + ' = '+ convert(nvarchar(3),@day) +' , din' 
    --  + @indice + ' = ' + @Schedindate + ' where empid = ' + CAST(@empid AS NVARCHAR(20)) 

    SELECT @ss = 'update table1 set nod' + @indice 
     + ' = '+ convert(nvarchar(3),@day) + ' where empid = ' + CAST(@empid AS NVARCHAR(20)) 

    EXEC master.dbo.sp_executesql @ss 

    FETCH NEXT FROM cc INTO @empid 

END 

CLOSE cc 
DEALLOCATE cc 

Почему я получаю эту ошибку? Я находится в правильной базе данных, и таблица существует. Я ценю любую помощьНедопустимое название объекта 'table1'

ответ

-1

Вы уверены, что находитесь в правильной базе данных? вы можете запустить SELECT DB_NAME(), чтобы увидеть текущую базу данных

+1

да, я в правильной базе данных .. не здесь проблема – Nejthe

Смежные вопросы