اندازهی قلم متن
تخمین مدت زمان مطالعهی مطلب:
یک دقیقه
یکی از موارد مشکل ساز حین استفاده از T-SQL ، مقدار دهی اولیه متغیرها به نال است و اگر اسکریپت تهیه شده کمی طولانی باشد، خطایابی مشکلات مرتبط با آن بسیار مشکل میشود. برای مثال:
Declare
@x int,
@y int
Set @x = 1
If (@x + @y = 1)
BEGIN
print 'yes!'
End
Set @y = (select sum(id) from Account)
If @x + @y = 1
BEGIN
print 'yes!'
End
کد فوق بدون هیچگونه خطایی اجرا میشود و هیچ وقت هم yes را چاپ نمیکند. مشکل هم همینجا است. خطایابی قسمت دوم این اسکریپت کمی مشکلتر از حالت قبل است. چون در اینجا به نظر متغیر y صریحا مقدار دهی شده است؛ اما در عمل ممکن است برای مثال به دلیل عدم وجود رکوردی در جدول Account، باز هم null به آن نسبت داده شود.
بنابراین سؤال این است که چگونه این نوع مشکلات را در یک پروژه با تعداد زیادی رویه ذخیره شده، تابع و غیره میتوان تشخیص داد؟
پاسخ:
در این مورد قبلا مطلبی در این سایت منتشر شده [+] (البته اگر از نگارش کامل VS 2010 استفاده میکنید نیازی به نصب چیزی نخواهید داشت) و نکتهی آن بررسی SR0007 است.