2010-11-10 33 views
0

在存儲過程中不能使用set ANSI_NULLS OFF而不是使用(first_name IS NULL)在我的查詢... 我也想知道我該如何調試存儲過程以及如何查看存儲過程生成的結果過程...喜歡正常查詢我得到的選項sql書面標籤.......但我怎麼能實現這一點的存儲過程....請詳細說明這一點太不能使用`設置ANSI_NULLS關

基本上我想知道,以下是我的確切查詢

SELECT  student_id, first_name, last_name, user_name, password, father_name, DOB, gender, local_address, permanent_Address, phone, mobile, email, college_id, 
         course_id, branch_id, highschool_passout_year, highschool_percentage, ssc_passout_year, ssc_percentage, passing_year_higher, graduation_percentage, 
         graduation_passout_year, post_graduation_percentage, post_graduation_passout_year, diploma_percentage, diploma_passout_year, number_of_ATKT, 
         current_backlog, gapin_education, sem1P, sem2P, sem3P, sem4P, sem5P, sem6P, sem7P, sem8P, total_sem_percentage, total_year_percentage, flag, image, 
         native_place, high_school_board, ssc_board, diploma_university, graduation_university, post_graduation_university, training_details, Project_Work, Skills, 
         extra_curricular, blood_group, profile_updated, year_of_admission, security_question, security_answer, admission_year, passing_year, enrollment_no, 
         first_year_percent, second_year_percent, third_year_percent, final_year_percent, current_degree_percent, year1P, year2P, year3P, year4P, roll_no, 
         diploma_details 
FROM   tbl_students 
WHERE  (first_name = 'Rupesh' COLLATE Latin1_General_CS_AS) OR 
         (first_name IS NULL) 

現在我明確檢查名字是nul l,但我想知道如果我設置SET ANSI,然後我可以從我的查詢中刪除first_name = null,但我仍然會得到正確的結果

回答

1

如果您將ansi nulls關閉,則可以使用空值first_name = null

至於調試,您可以執行查詢以查看其在SQLServer Management Studio中的結果,存儲過程按照可編程性存儲在每個數據庫中|存儲過程

如果你正在運行一個腳本,而不是一個語句就可以輸出到結果的信息選項卡窗格使用print命令

+0

我已經編輯我的Q可以更清楚地回答你,以前的時候你可能錯過了它 – NoviceToDotNet 2010-11-11 02:42:19

+0

我可以看到你的編輯,但它似乎仍然在問我已經回答的問題。現在你的查詢選擇第一個名字是Rupesh還是一個空值。如果這就是你想要設置ansi nulls的意思,那就意味着你用不同的方式測試null。請參閱這裏獲取更多詳細信息http://msdn.microsoft.com/en-us/library/ms188048.aspx如果您關閉了ansi nulls並刪除firstname爲null子句,則只會返回名稱爲rupesh的位置。 – Robb 2010-11-14 12:09:01