PDA

View Full Version : آگاهی از وجود Temp Table



bmanfy
شنبه 15 اسفند 1388, 10:26 صبح
سلام.
چطور میشه از وجود یک TempTable ساخته شده آگاه شد ؟ البته Temp#

bmanfy
یک شنبه 16 اسفند 1388, 14:14 عصر
شاید سوالم خوب بیان نشده . یه طور دیگه بیان میکنم .
فرض کنید هدف ویرایش اطلاعات یک فاکتور فروشه .
خوب برای این کار باید بیام اطلاعات رو درون یک جدول موقت قرار بدم . تغییرات رو اعمال کنم . و در انتها اطلاعات قبلی رو از جدول اصلی پاک و اطلاعات جدید (که در جدول کمکی هستش) رو درون جدول اصلی ثبت کنم .

برنامه تحت شبکه است .
پس باید هر کاربر بتونه یک جدول کمکی مجزا داشته باشه .
چرا وقتی جدول کمکی رو با Sp میسازم به جای اینکه نامش رو ذخیره کنه یک کد رو به جش ذخیره میکنه .
مثلا Temp# رو با نام 756574888# ذخیره میکنه .
اما وقتی با دستور زیر میسازم :


Create Teble #Temp(a int, b int)

دقیقا درون Sp هم از این دستور استفاده میکنم .
با این دستور نامش رو به صورت زیر در نظر میگیره :
2645464___________________________________________ Temp#
که البته با همون نام Temp# قابل دسترسی هست .
و البته جداولی که با Sp میسازه پس از قطه شدن Connection حذف نمیشه .
دلیل این مسائل چیه ؟
چه طور میشه اگاه شد که یک Session جدولی با نام Temp# براش ساخته شده ؟

supporter
یک شنبه 16 اسفند 1388, 14:24 عصر
Create table #t1(id1 int)

IF OBJECT_ID('TempDB..#t1','U') > 0
PRINT 'Table Exists'
ELSE
PRINT 'Table Not Exists'
Drop table #t1

supporter
یک شنبه 16 اسفند 1388, 14:37 عصر
يا




Select
1
FROM
tempdb.dbo.sysobjects (nolock)
WHERE
ID = OBJECT_ID(N'tempdb.dbo.#t1') and [Type] = 'U'