Friday, March 23, 2012

I cant create a temp table

Hi everyone,

I saw a post of this, but i still can't solve it.
This is what i got:
SET @.sql = 'CREATE TABLE #SIAG_MatrizTemporal ...'
EXEC(@.sql)

this seems to work fine, but if i try to make a query on #SIAG_MatrizTemporal, the table doesn't exists, the error says: "Invalid object name '#SIAG_MatrizTemporal'."

If I add to @.sql a select statement the values are in there, but if i do it outside the same string, it just doesn't work.

Joseph Weinstein says that i should add "selectMode=cursor" where should i add it ?? I'm just working with the stored procedure, i'm not using VS, Java or any other programming language. Later i have to use it from SQL Reporting Services, but first i have to make it work from the Query Analyzer...

I think i have to activate or desactivate some property on the Server or the query, but i was looking in Internet and nothing... I really need to solve this, and i cant find anything that works.

If anyone can help me, i really appreciate it.
Thanks in advance :)

JoanSET @.sql = 'CREATE TABLE ##SIAG_MatrizTemporal ...'
EXEC(@.sql)

You can use ##SIAG_MatrizTemporal to Dispose.
我不懂英文!
这里你必须使用全局临时表。
follow is my code. ex:

IF EXISTS
(SELECT * FROM tempdb..sysobjects WHERE name LIKE '##fabtemp%')
DROP TABLE ##fabtemp

EXEC ('
SELECT GUID=NEWID(),MstGUID = ''' + @.MstGUID + ''',
iNumber = IDENTITY(int, 1,1),
sRollNo,MaterialGUID,sLotNo,
sStoragePlaceCD,sStkTypeCD,
sSupplySourceCD,
fAccountQty = fOnHandQty + fOnHoldQty,
fRealQty = fOnHandQty + fOnHoldQty,fProfitOrLossQty = 0,
sCtUid = ''' + @.sUserID + ''',
dCtDate = GETDATE() INTO ##fabtemp
FROM IMFabricRollStock
WHERE sStorageCD = ''' + @.sStorageCD + '''' + @.sCondition +
'ORDER BY sStoragePlaceCD ')

/*------------------
------------------*/

INSERT INTO imFabricCheckingDtl
SELECT * FROM ##fabtemp

No comments:

Post a Comment