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

Microsoft SQL Server เป็นระบบจัดการฐานข้อมูลเชิงสัมพันธ์ (RDBMS) ใช้แท็กนี้สำหรับ SQL Server ทุกรุ่นรวมถึง Compact, Express, Azure, Fast-track, APS (เดิมคือ PDW) และ Azure SQL DW อย่าใช้แท็กนี้สำหรับ DBMS ประเภทอื่น (MySQL, PostgreSQL, Oracle, ฯลฯ ) อย่าใช้แท็กนี้สำหรับปัญหาเกี่ยวกับซอฟต์แวร์และการพัฒนาอุปกรณ์พกพาเว้นแต่จะเกี่ยวข้องโดยตรงกับฐานข้อมูล

19
เป็นวิธีที่ดีที่สุดในการเลขหน้าผลลัพธ์ใน SQL Server อะไร
เป็นวิธีที่ดีที่สุด (ประสิทธิภาพฉลาด) เพื่อเลขหน้าผลลัพธ์ใน SQL Server 2000, 2005, 2008, 2012 ถ้าคุณต้องการได้รับจำนวนผลรวม (ก่อนที่จะเลขหน้า) คืออะไร?



28
ไม่สามารถตัดทอนตารางได้เนื่องจากมีการอ้างอิงโดยข้อ จำกัด ของคีย์ต่างประเทศหรือไม่
การใช้ MSSQL2005 ฉันสามารถตัดทอนตารางด้วยข้อ จำกัด foreign key ได้หรือไม่ถ้าฉันตัดทอนตารางลูก (ตารางที่มีคีย์หลักของความสัมพันธ์ FK) เป็นอันดับแรก ฉันรู้ว่าฉันสามารถ ใช้DELETEคำสั่งที่ไม่มีตำแหน่งและจากนั้นจึงRESEEDระบุตัวตน ลบ FK ตัดทอนตารางและสร้าง FK ใหม่ ฉันคิดว่าตราบใดที่ฉันตัดทอนตารางลูกต่อหน้าพ่อแม่ฉันก็โอเคโดยไม่ทำตามตัวเลือกข้างต้น แต่ฉันได้รับข้อผิดพลาดนี้: ไม่สามารถตัดทอนตาราง 'TableName' ได้เนื่องจากกำลังถูกอ้างถึงโดยข้อ จำกัด ของ FOREIGN KEY

25
ไคลเอ็นต์ SQL สำหรับ Mac OS X ที่ทำงานกับ MS SQL Server [ปิด]
ตามที่เป็นอยู่ในปัจจุบันคำถามนี้ไม่เหมาะสำหรับรูปแบบคำถาม & คำตอบของเรา เราคาดหวังคำตอบที่จะได้รับการสนับสนุนจากข้อเท็จจริงการอ้างอิงหรือความเชี่ยวชาญ แต่คำถามนี้อาจเรียกร้องให้มีการอภิปรายโต้แย้งโต้แย้งหรือการอภิปรายเพิ่มเติม หากคุณรู้สึกว่าคำถามนี้สามารถปรับปรุงและเปิดใหม่ได้โปรดไปที่ศูนย์ช่วยเหลือเพื่อขอคำแนะนำ ปิดให้บริการใน7 ปีที่ผ่านมา ฉันจะเชื่อมต่อกับเซิร์ฟเวอร์ SQL ระยะไกลโดยใช้ Mac OS X ได้อย่างไร ฉันไม่ต้องการ GUI จริงๆ แต่มันจะดีถ้ามี color coding และ grid ของเซตผลลัพธ์ ฉันไม่ต้องการใช้ VM มีไคลเอนต์ SQL สำหรับ Mac OS X ที่ทำงานกับ MS SQL Server ได้หรือไม่?
452 sql-server  macos 

18
เลือกคอลัมน์จากชุดผลลัพธ์ของกระบวนงานที่เก็บไว้
ฉันมีขั้นตอนการจัดเก็บที่ส่งคืน 80 คอลัมน์และ 300 แถว ฉันต้องการเขียนตัวเลือกที่ได้รับ 2 ของคอลัมน์เหล่านั้น สิ่งที่ต้องการ SELECT col1, col2 FROM EXEC MyStoredProc 'param1', 'param2' เมื่อฉันใช้ไวยากรณ์ข้างต้นฉันได้รับข้อผิดพลาด: "ชื่อคอลัมน์ไม่ถูกต้อง" ฉันรู้ว่าวิธีที่ง่ายที่สุดคือเปลี่ยนกระบวนงานที่เก็บไว้ แต่ฉันไม่ได้เขียนและไม่สามารถเปลี่ยนแปลงได้ มีวิธีทำสิ่งที่ฉันต้องการหรือไม่? ฉันสามารถสร้างตารางชั่วคราวเพื่อใส่ผลลัพธ์ แต่เนื่องจากมี 80 คอลัมน์ดังนั้นฉันจึงต้องสร้างตารางอุณหภูมิคอลัมน์ 80 เพื่อให้ได้ 2 คอลัมน์ ฉันต้องการหลีกเลี่ยงการติดตามคอลัมน์ทั้งหมดที่ส่งคืน ฉันลองใช้WITH SprocResults AS ....ตามคำแนะนำของ Mark แต่มีข้อผิดพลาด 2 ข้อ ไวยากรณ์ไม่ถูกต้องใกล้กับคำหลัก 'EXEC' ไวยากรณ์ไม่ถูกต้องใกล้กับ ')' ฉันพยายามประกาศตัวแปรตารางและฉันพบข้อผิดพลาดดังต่อไปนี้ ข้อผิดพลาดการแทรก: ชื่อคอลัมน์หรือจำนวนค่าที่ให้มาไม่ตรงกับคำนิยามของตาราง หากฉันลอง SELECT * FROM …

11
เพิ่มคีย์หลักอัตโนมัติใน SQL Server Management Studio 2012
ฉันจะในตารางฐานข้อมูลที่ผมเคยได้ดูผ่านฟอรั่ม แต่ไม่สามารถดูวิธีการauto incrementprimary keySQL Server ฉันดูคุณสมบัติ แต่ไม่เห็นตัวเลือกฉันเห็นคำตอบว่าคุณไปที่Identityคุณสมบัติข้อมูลจำเพาะและตั้งค่าเป็นใช่และตั้งค่าเป็นIdentity increment1 แต่ส่วนนั้นเป็นสีเทาและไม่สามารถเปลี่ยนได้ ไม่ใช่เพื่อใช่ ต้องมีวิธีที่ง่ายในการทำเช่นนี้ แต่ฉันหามันไม่เจอ

19
การเพิ่มเอกลักษณ์ให้กับคอลัมน์ที่มีอยู่
ฉันต้องเปลี่ยนคีย์หลักของตารางเป็นคอลัมน์ข้อมูลประจำตัวและมีจำนวนแถวในตารางอยู่แล้ว ฉันมีสคริปต์เพื่อล้าง ID เพื่อให้แน่ใจว่าพวกเขากำลังเรียงลำดับเริ่มต้นที่ 1 ทำงานได้ดีบนฐานข้อมูลทดสอบของฉัน คำสั่ง SQL ในการแก้ไขคอลัมน์เพื่อให้มีคุณสมบัติตัวตนคืออะไร?

12
คุณควรเลือกประเภทข้อมูล MONEY หรือ DECIMAL (x, y) ใน SQL Server หรือไม่
ฉันอยากรู้ว่าmoneyประเภทข้อมูลและสิ่งที่ต้องการแตกต่างกันหรือไม่decimal(19,4)(ซึ่งเป็นสิ่งที่เงินใช้ภายในฉันเชื่อ) ฉันรู้ว่าmoneyเฉพาะเซิร์ฟเวอร์ SQL ฉันต้องการทราบว่ามีเหตุผลที่น่าสนใจที่จะเลือกหนึ่งมากกว่าอื่น ๆ ; ตัวอย่าง SQL Server ส่วนใหญ่ (เช่นฐานข้อมูล AdventureWorks) ใช้moneyและไม่ใช้decimalสำหรับข้อมูลต่าง ๆ เช่นราคา ฉันควรใช้ประเภทข้อมูลเงินต่อไปหรือจะมีประโยชน์ในการใช้ทศนิยมแทนหรือไม่ เงินเป็นตัวอักษรที่พิมพ์น้อยลง แต่นั่นไม่ใช่เหตุผลที่ถูกต้อง :)
442 sql-server  types 

8
เหตุใดจึงต้องใช้คำสั่ง INCLUDE เมื่อสร้างดัชนี?
ในขณะที่เรียนสำหรับการสอบ 70-433 ผมสังเกตเห็นว่าคุณสามารถสร้างดัชนีครอบคลุมในหนึ่งในสองวิธีต่อไปนี้ CREATE INDEX idx1 ON MyTable (Col1, Col2, Col3) -- หรือ -- CREATE INDEX idx1 ON MyTable (Col1) INCLUDE (Col2, Col3) ประโยค INCLUDE เป็นของใหม่สำหรับฉัน ทำไมคุณจะใช้มันและแนวทางใดบ้างที่คุณจะแนะนำในการพิจารณาว่าจะสร้างดัชนีครอบคลุมโดยมีหรือไม่มีประโยครวมหรือไม่?

7
แบบสอบถาม SQL Server - การเลือก COUNT (*) ด้วย DISTINCT
ใน SQL Server 2005 ฉันมีตาราง cm_production ที่แสดงรหัสทั้งหมดที่นำไปผลิต ตารางมี ticket_number, program_type และ program_name และ push_number พร้อมกับคอลัมน์อื่น ๆ เป้าหมาย: นับชื่อโปรแกรม DISTINCT ทั้งหมดตามประเภทโปรแกรมและหมายเลขพุช สิ่งที่ฉันมีอยู่คือ: DECLARE @push_number INT; SET @push_number = [HERE_ADD_NUMBER]; SELECT DISTINCT COUNT(*) AS Count, program_type AS [Type] FROM cm_production WHERE push_number=@push_number GROUP BY program_type นี่ทำให้ฉันอยู่ตรงนั้น แต่นับชื่อโปรแกรมทั้งหมดไม่ใช่ชื่อที่ต่างกัน (ซึ่งฉันไม่คิดว่าจะทำในแบบสอบถามนั้น) ฉันเดาว่าฉันไม่สามารถคาดเดาวิธีที่จะบอกให้นับเฉพาะชื่อโปรแกรมที่แตกต่างได้โดยไม่ต้องเลือก หรือบางสิ่งบางอย่าง.

9
ปรับปรุงและแทนที่ส่วนหนึ่งของสตริง
ฉันมีตารางที่มีสองคอลัมน์IDและValue. ฉันต้องการเปลี่ยนบางส่วนของสตริงในคอลัมน์ที่สอง ตัวอย่างของตาราง: ID Value --------------------------------- 1 c:\temp\123\abc\111 2 c:\temp\123\abc\222 3 c:\temp\123\abc\333 4 c:\temp\123\abc\444 ตอนนี้ไม่จำเป็น123\ในValueสตริง ฉันพยายามUPDATEแล้วREPLACE: UPDATE dbo.xxx SET Value = REPLACE(Value, '%123%', '') WHERE ID <= 4 เมื่อฉันเรียกใช้งานสคริปต์ SQL Server จะไม่รายงานข้อผิดพลาด แต่จะไม่ปรับปรุงสิ่งใดเลย ทำไมถึงเป็นอย่างนั้น?

6
คุณจะระบุหมายเลขพอร์ตอื่นใน SQL Management Studio ได้อย่างไร
ฉันกำลังพยายามเชื่อมต่อกับเซิร์ฟเวอร์ Microsoft SQL 2005 ซึ่งไม่ได้อยู่ที่พอร์ต 1433 ฉันจะระบุหมายเลขพอร์ตอื่นได้อย่างไรเมื่อเชื่อมต่อกับเซิร์ฟเวอร์โดยใช้ SQL Management Studio

7
เลือกคำสั่งเพื่อค้นหารายการซ้ำในบางฟิลด์
คุณสามารถช่วยฉันด้วยคำสั่ง SQL เพื่อค้นหารายการที่ซ้ำกันในหลายสาขาได้หรือไม่? ตัวอย่างเช่นในรหัสเทียม: select count(field1,field2,field3) from table where the combination of field1, field2, field3 occurs multiple times และจากคำสั่งดังกล่าวหากมีเกิดขึ้นหลายฉันต้องการจะเลือกบันทึกทุกยกเว้นคนแรก

11
การส่งออกข้อมูลใน SQL Server เป็น INSERT INTO
ฉันใช้ SQL Server 2008 Management Studio และมีตารางที่ฉันต้องการย้ายไปยังเซิร์ฟเวอร์ db อื่น มีตัวเลือกในการส่งออกข้อมูลเป็นส่วนแทรกลงในสคริปต์ SQL หรือไม่?

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