ما هي أفضل طريقة لتحديد ما إذا كان هناك جدول مؤقت موجود في SQL Server؟

StackOverflow https://stackoverflow.com/questions/2649

  •  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'
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top