ما هي أفضل طريقة لتحديد ما إذا كان هناك جدول مؤقت موجود في SQL Server؟
-
08-06-2019 - |
سؤال
عند كتابة برنامج T-SQL النصي الذي أخطط لإعادة تشغيله، غالبًا ما أستخدم الجداول المؤقتة لتخزين البيانات المؤقتة.نظرًا لأنه يتم إنشاء الجدول المؤقت بسرعة، أود أن أتمكن من إسقاط هذا الجدول فقط إذا كان موجودًا (قبل إنشائه).
سأقوم بنشر الطريقة التي أستخدمها، لكني أرغب في معرفة ما إذا كانت هناك طريقة أفضل.
المحلول
IF Object_Id('TempDB..#TempTable') IS NOT NULL
BEGIN
DROP TABLE #TempTable
END
نصائح أخرى
ترجع الدالة OBJECT_ID معرف الكائن الداخلي لاسم ونوع الكائن المحدد.يشير 'tempdb..#t1' إلى الجدول #t1 في قاعدة بيانات tempdb."U" مخصص للجدول المحدد من قبل المستخدم.
IF OBJECT_ID('tempdb..#t1', 'U') IS NOT NULL
DROP TABLE #t1
CREATE TABLE #t1
(
id INT IDENTITY(1,1),
msg VARCHAR(255)
)
SELECT name
FROM sysobjects
WHERE type = 'U' AND name = 'TempTable'
لا تنتمي إلى StackOverflow