คำถามติดแท็ก sql-server-2008

ใช้แท็กนี้สำหรับคำถามเฉพาะของ Microsoft SQL Server รุ่น 2008

11
ตรวจสอบว่ามีแถวอยู่หรือไม่
ฉันต้องเขียนขั้นตอนการจัดเก็บ T-SQL ที่ปรับปรุงแถวในตาราง หากไม่มีแถวให้ใส่ลงไป ทุกขั้นตอนนี้ห่อด้วยธุรกรรม นี่เป็นระบบจองดังนั้นมันจะต้องเป็นอะตอมและเชื่อถือได้ จะต้องส่งคืนจริงหากธุรกรรมได้รับการยอมรับและจองเที่ยวบิน ฉันใหม่กับ T-SQLและไม่แน่ใจว่าจะใช้@@rowcountอย่างไร นี่คือสิ่งที่ฉันเขียนจนถึงตอนนี้ ฉันอยู่บนถนนที่ถูกต้องหรือไม่? ฉันแน่ใจว่าเป็นปัญหาง่ายสำหรับคุณ -- BEGIN TRANSACTION (HOW TO DO?) UPDATE Bookings SET TicketsBooked = TicketsBooked + @TicketsToBook WHERE FlightId = @Id AND TicketsMax < (TicketsBooked + @TicketsToBook) -- Here I need to insert only if the row doesn't exists. -- If …


10
วิธีการคืนค่าไปยังฐานข้อมูลอื่นในเซิร์ฟเวอร์ sql
ฉันมีการสำรองข้อมูลของDatabase1จากสัปดาห์ที่แล้ว การสำรองข้อมูลจะทำทุกสัปดาห์ในตารางเวลาและฉันจะได้รับ.bakไฟล์ ตอนนี้ฉันต้องการซอกับข้อมูลบางอย่างดังนั้นฉันต้องการคืนค่าไปยังฐานข้อมูลอื่น - ฐานข้อมูล 2 ฉันได้เห็นคำถามนี้: เรียกคืนฐานข้อมูล SQL Server ในพีซีเครื่องเดียวกันที่มีชื่อแตกต่างกันและขั้นตอนที่แนะนำคือการเปลี่ยนชื่อฐานข้อมูลดั้งเดิม แต่ฉันออกจากตัวเลือกนั้นเพราะฉันอยู่ในเซิร์ฟเวอร์การผลิตและฉันไม่สามารถทำมันได้ มีวิธีอื่นในการกู้คืนDatabase2หรืออย่างน้อยฉันจะเรียกดูข้อมูลของไฟล์. bak นั้นได้อย่างไร ขอบคุณ ป.ล. : คำตอบที่สองจากลิงค์ด้านบนดูมีแนวโน้ม แต่ก็ยังคงมีข้อผิดพลาด Restore Filelist กำลังยกเลิกอย่างผิดปกติ

11
วิธีการเชื่อมต่อกับอินสแตนซ์ในเครื่องของ SQL Server 2008 Express
ฉันเพิ่งติดตั้ง SQL Server 2008 Express บนเครื่อง Vista SP1 ของฉัน ก่อนหน้านี้ฉันมีปี 2005 ที่นี่และใช้งานได้ดีกับ SQL Server Management Studio Express เก่า ฉันสามารถเชื่อมต่อได้โดยไม่มีปัญหากับอินสแตนซ์ PC-NAME \ SQLEXPRESS ของฉัน (ไม่ PC-NAME ไม่ใช่ชื่อคอมพิวเตอร์ของฉัน ;-) ฉันถอนการติดตั้ง 2005 และ SQL Server Management Studio Express ฉันติดตั้ง SQL Server 2008 Express บนเครื่องของฉันและเลือกที่จะให้ติดตั้ง SQL Server Management Studio Basic ตอนนี้เมื่อฉันพยายามเชื่อมต่อกับ PC-NAME \ SQLEXPRESS …

8
ฉันจะจัดกลุ่มคอลัมน์ตามวันที่โดยไม่คำนึงถึงเวลาได้อย่างไร
ฉันมีคำสั่งซื้อสินค้ามากมายและฉันพยายามจัดกลุ่มตามวันที่และรวมปริมาณสำหรับวันที่นั้น ฉันจะจัดกลุ่มตามเดือน / วัน / ปีโดยไม่คำนึงถึงเวลาได้อย่างไร 3/8/2010 7:42:00 ควรจัดกลุ่มด้วย 3/8/2010 4:15:00

7
SQL Server Management Studio วิธีรับเวลาดำเนินการจนถึงมิลลิวินาที
เมื่อฉันส่งแบตช์ (เช่นทำแบบสอบถาม) ใน SSMS ฉันเห็นเวลาที่ใช้ในการดำเนินการในแถบสถานะ เป็นไปได้หรือไม่ที่จะกำหนดค่า SSMS ให้แสดงเวลาสอบถามด้วยความละเอียดมิลลิวินาที? นี่คือบาร์ที่ฉันกำลังพูดถึงด้วยส่วนที่น่าสนใจวนเป็นสีแดง:

3
จะเขียน UPDATE SQL ด้วย alias Table ใน SQL Server 2008 ได้อย่างไร?
ฉันมีพื้นฐานมากUPDATE SQL- UPDATE HOLD_TABLE Q SET Q.TITLE = 'TEST' WHERE Q.ID = 101; แบบสอบถามนี้จะทำงานได้ดีในOracle, Derby, MySQL- แต่ก็ล้มเหลวใน SQL Server 2008 ด้วยข้อผิดพลาดต่อไปนี้: "ข่าวสารเกี่ยวกับ 102, ระดับ 15, สถานะ 1, บรรทัด 1 ไวยากรณ์ไม่ถูกต้องใกล้กับ 'Q'" ถ้าฉันลบ alias ที่เกิดขึ้นทั้งหมด "Q" ออกจาก SQL มันก็ใช้ได้ แต่ฉันต้องใช้นามแฝง


8
แก้ไขตาราง: วิธีการเปลี่ยนแอตทริบิวต์ 'อนุญาต Nulls' จากไม่ใช่ null เพื่ออนุญาต null
วิธีการเปลี่ยนหนึ่งคุณลักษณะในตารางโดยใช้ T-SQL เพื่ออนุญาตให้มีค่า Null (ไม่ใช่ Null -> Null) ตารางการเปลี่ยนแปลงอาจจะ?


9
ฟังก์ชันหลายค่าที่มีค่าเป็นตารางเทียบกับฟังก์ชันที่มีค่าของตารางแบบอินไลน์
ตัวอย่างที่จะแสดงเพียงใส่ในกรณี: ค่าในตาราง Inline CREATE FUNCTION MyNS.GetUnshippedOrders() RETURNS TABLE AS RETURN SELECT a.SaleId, a.CustomerID, b.Qty FROM Sales.Sales a INNER JOIN Sales.SaleDetail b ON a.SaleId = b.SaleId INNER JOIN Production.Product c ON b.ProductID = c.ProductID WHERE a.ShipDate IS NULL GO ตารางคำสั่งหลายค่า CREATE FUNCTION MyNS.GetLastShipped(@CustomerID INT) RETURNS @CustomerOrder TABLE (SaleOrderID INT NOT NULL, …

11
วิธีการเปลี่ยนประเภทข้อมูลคอลัมน์ในฐานข้อมูล SQL โดยไม่สูญเสียข้อมูล
ฉันมีฐานข้อมูล SQL Server และฉันก็รู้ว่าฉันสามารถเปลี่ยนชนิดของหนึ่งในคอลัมน์ที่จากไปintbool ฉันจะทำเช่นนั้นได้อย่างไรโดยไม่สูญเสียข้อมูลที่ป้อนไว้ในตารางนั้นไปแล้ว

12
แบบสอบถาม SQL เพื่อส่งกลับความแตกต่างระหว่างสองตาราง
ฉันพยายามเปรียบเทียบสองตารางคือ SQL Server เพื่อตรวจสอบข้อมูลบางอย่าง ฉันต้องการส่งคืนแถวทั้งหมดจากตารางทั้งสองที่มีข้อมูลอยู่ในตารางใดตารางหนึ่งหรืออีกแถวหนึ่ง ในสาระสำคัญฉันต้องการแสดงความแตกต่างทั้งหมด ฉันต้องตรวจสอบข้อมูลสามส่วนในการทำเช่นนั้นชื่อนามสกุลและผลิตภัณฑ์ ฉันค่อนข้างใหม่กับ SQL และดูเหมือนว่าโซลูชันจำนวนมากที่ฉันค้นหาพบนั้นซับซ้อนเกินความจำเป็น ฉันไม่ต้องกังวลเกี่ยวกับ NULLs ฉันเริ่มต้นด้วยการลองสิ่งนี้: SELECT DISTINCT [First Name], [Last Name], [Product Name] FROM [Temp Test Data] WHERE ([First Name] NOT IN (SELECT [First Name] FROM [Real Data])) ฉันมีปัญหาในการดำเนินการต่อไปแม้ว่า ขอบคุณ! แก้ไข: จากคำตอบโดย @treaschf ฉันพยายามใช้รูปแบบของแบบสอบถามต่อไปนี้: SELECT td.[First Name], td.[Last Name], td.[Product Name] FROM …

10
เพิ่มคีย์หลักให้กับตารางที่มีอยู่
Persionฉันได้ตารางที่มีอยู่เรียกว่า ในตารางนี้ฉันมี 5 คอลัมน์: persionId pname PMID Pdescription Pamt เมื่อฉันสร้างตารางนี้ผมตั้งPersionIdและPnameเป็นคีย์หลัก ตอนนี้ฉันต้องการรวมคอลัมน์อีกหนึ่งคอลัมน์ในคีย์หลัก - PMID ฉันจะเขียนALTERคำสั่งเพื่อทำสิ่งนี้ได้อย่างไร (ฉันมี 1,000 บันทึกในตารางแล้ว)

14
จะอัพเดตคอลัมน์ข้อมูลประจำตัวใน SQL Server ได้อย่างไร
ฉันมีฐานข้อมูล SQL Server และฉันต้องการเปลี่ยนคอลัมน์ข้อมูลประจำตัวเพราะมันเริ่มต้นด้วยจำนวนมาก10010และมันเกี่ยวข้องกับตารางอื่นตอนนี้ฉันมี 200 ระเบียนและฉันต้องการแก้ไขปัญหานี้ก่อนที่จะเพิ่มระเบียน วิธีที่ดีที่สุดในการเปลี่ยนหรือรีเซ็ตคอลัมน์นี้คืออะไร

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.