คำถามติดแท็ก stored-procedures

รูทีนย่อยพร้อมใช้งานสำหรับแอ็พพลิเคชันที่เข้าถึงระบบฐานข้อมูลเชิงสัมพันธ์

7
ใน SQL Server“ SET ANSI_NULLS ON” หมายความว่าอย่างไร
คำจำกัดความกล่าวว่า: เมื่อ SET ANSI_NULLS เปิดอยู่คำสั่ง SELECT ที่ใช้ WHERE column_name = NULL จะส่งกลับศูนย์แถวแม้ว่าจะมีค่า null ใน column_name ก็ตาม คำสั่ง SELECT ที่ใช้ WHERE column_name <> NULL ส่งคืนแถวศูนย์แม้ว่าจะมีค่าที่ไม่ใช่ null ใน column_name ก็ตาม นี่หมายความว่าจะไม่มีการรวมค่าว่างในแบบสอบถามนี้หรือไม่? SELECT Region FROM employees WHERE Region = @region หรือANSI_NULLกังวลเฉพาะคำถามเช่นนี้ (ซึ่งWHEREรวมถึงคำเฉพาะNULL)? SELECT Region FROM employees WHERE Region = NULL

12
ฟังก์ชั่นเทียบกับขั้นตอนที่เก็บไว้
สมมติว่าฉันต้องใช้โค้ด T-SQL ที่ต้องส่งคืนตารางเป็นผลลัพธ์ ฉันสามารถใช้ฟังก์ชันค่าตารางหรืออื่น ๆ กระบวนงานที่เก็บไว้ที่ส่งคืนชุดของแถว ฉันควรใช้อะไร? ในระยะสั้นสิ่งที่ฉันอยากรู้คือ: ข้อแตกต่างหลักระหว่างฟังก์ชันและกระบวนงานที่จัดเก็บคืออะไร ฉันต้องคำนึงถึงอะไรบ้างในการใช้อย่างใดอย่างหนึ่ง

2
สิทธิ์ EXECUTE ถูกปฏิเสธในประเภทตารางที่ผู้ใช้กำหนด?
ฉันมีคำถามเกี่ยวกับประเภทตารางที่ผู้ใช้กำหนดใน SQL Server 2008 สำหรับความต้องการของหนึ่งในแอปพลิเคชัน ASP.NET เราได้กำหนดชนิดตารางของเราเองบน SQL Server 2008 เพื่อใช้เป็นพารามิเตอร์ในโพรซีเดอร์ที่เก็บไว้ (เมื่อเรียกใช้คำสั่ง sql ในแอปพลิเคชัน ASP.NET เราจะส่งวัตถุ DataTable เป็นพารามิเตอร์สำหรับกระบวนงานที่เก็บไว้ดูตัวอย่างที่นี่ ) ปัญหาคือเมื่อเราเรียกใช้คำสั่ง Sql (ดำเนินการขั้นตอนที่เก็บไว้) จาก ASP.NET เราได้รับข้อผิดพลาด: สิทธิ์ดำเนินการถูกปฏิเสธในวัตถุ 'ourTableType', ฐานข้อมูล 'ourDatabase', สคีมา 'ourSchema' เหตุผลที่เป็นเช่นนั้น? เหตุใดเราจึงต้องกำหนดสิทธิ์ในประเภทตารางที่ผู้ใช้กำหนด เหตุใดจึงไม่เพียงพอที่จะตั้งค่าสิทธิ์ในกระบวนงานที่เก็บไว้ซึ่งใช้งานได้ และถ้าเราจะต้องตั้งมันไม่ว่าอะไรทำไมไม่มีEXECUTEประเภทสิทธิ์ในการตั้งค่าในหน้าต่างคุณสมบัติใด ๆ (ผมสามารถมองเห็นเพียงControl, References, Take Ownership, View Definition)? สิ่งที่ฉันไม่เข้าใจคือการตั้งค่าสิทธิ์Controlในหน้าต่างคุณสมบัติช่วยแก้ปัญหาได้และขั้นตอนที่เก็บไว้จะทำงานโดยไม่มีปัญหา

7
ไม่พบกระบวนงานที่เก็บไว้ "dbo.aspnet_CheckSchemaVersion"
ฉันใช้ WinHost.com เพื่อโฮสต์ไซต์ของฉัน ระบบฐานข้อมูล / สมาชิก SQL ทำงานได้อย่างสมบูรณ์บนคอมพิวเตอร์ในระบบของฉัน แต่เมื่ออัปโหลดไปยังเซิร์ฟเวอร์จะไม่ทำงาน ฉันทำตามขั้นตอนทั้งหมดถูกต้องแล้ว และฉันได้ติดต่อฝ่ายสนับสนุนสำหรับบริการของฉัน แต่ใช้เวลาเกิน 2 สัปดาห์และไม่มีการตอบกลับ ฉันได้รับข้อผิดพลาดนี้อยู่เรื่อย ๆ เมื่อพยายามเข้าสู่ระบบหรือลงทะเบียนผู้ใช้ใหม่ในหน้าสมาชิกของฉันบนไซต์ของฉัน Server Error in '/' Application. -------------------------------------------------------------------------------- Could not find stored procedure 'dbo.aspnet_CheckSchemaVersion'. Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information …

4
จะประกาศอาร์เรย์ภายใน MS SQL Server Stored Procedure ได้อย่างไร?
ฉันต้องการประกาศตัวแปรทศนิยม 12 ตัวซึ่งสอดคล้องกับปีของแต่ละเดือนด้วยเคอร์เซอร์ฉันรวมค่าให้กับตัวแปรนี้จากนั้นฉันจะอัปเดตข้อมูลการขายในภายหลัง ฉันไม่รู้ว่าเซิร์ฟเวอร์ sql มีไวยากรณ์นี้หรือไม่ Declare MonthsSale(1 to 12) as decimal(18,2) รหัสนี้ใช้ได้ ! CREATE PROCEDURE [dbo].[proc_test] AS BEGIN --SET NOCOUNT ON; DECLARE @monthsales TABLE ( monthnr int, amount decimal(18,2) ) -- PUT YOUR OWN CODE HERE -- THIS IS TEST CODE -- 1 REPRESENTS JANUARY, ... INSERT @monthsales (monthnr, …

8
แบบสอบถามกำลังดำเนินการช้ามากมีวิธีใดปรับปรุงเพิ่มเติมหรือไม่
ฉันมีคิวรีต่อไปนี้และเนื่องจากมีSUMการเรียกใช้ฟังก์ชันจำนวนมากเคียวรีของฉันจึงทำงานช้าเกินไป ฉันมีบันทึกจำนวนมากในฐานข้อมูลของฉันและฉันต้องการรับรายงานจากปีปัจจุบันและปีที่แล้ว (30 วันล่าสุด 90 วันล่าสุดและ 365 วันสุดท้าย) สำหรับแต่ละคน: SELECT b.id as [ID] ,d.[Title] as [Title] ,e.Class as [Class] ,Sum(CASE WHEN a.DateCol >= DATEADD(MONTH,-1,GETDATE()) THEN a.col1 ELSE 0 END) as [Current - Last 30 Days Col1] ,Sum(CASE WHEN a.DateCol >= DATEADD(MONTH,-1,GETDATE()) THEN a.col2 ELSE 0 END) as [Current - Last …
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.