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

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

9
ความแตกต่างระหว่าง CTE และ SubQuery หรือไม่
จากโพสต์นี้จะใช้ ROW_NUMBER อย่างไรในขั้นตอนต่อไปนี้? มีสองรุ่นของคำตอบที่หนึ่งใช้sub-queryและอื่น ๆ ใช้CTEเพื่อแก้ปัญหาเดียวกัน ตอนนี้ข้อดีของการใช้คำCTE (Common Table Expression)สั่งย่อย 'over-query' (ดังนั้นยิ่งอ่านง่ายยิ่งขึ้นว่าการสืบค้นทำอะไรอยู่จริง) ประโยชน์เฉพาะของใช้CTEมากกว่าsub-selectคือว่าที่จริงผมสามารถตั้งชื่อ sub-queryมีความแตกต่างอื่น ๆ ระหว่างสองสิ่งนี้หรือไม่เมื่อใช้ CTE เป็น CTE แบบง่าย ๆ (ไม่ใช่แบบเรียกซ้ำ)?

13
วิธีการแก้ไขหลายคอลัมน์พร้อมกันใน SQL Server
ฉันต้องการALTERชนิดข้อมูลของหลายคอลัมน์ในตาราง สำหรับคอลัมน์เดียวต่อไปนี้ใช้งานได้ดี: ALTER TABLE tblcommodityOHLC ALTER COLUMN CC_CommodityContractID NUMERIC(18,0) แต่ฉันจะแก้ไขหลายคอลัมน์ในคำสั่งเดียวได้อย่างไร ต่อไปนี้ใช้ไม่ได้: ALTER TABLE tblcommodityOHLC ALTER COLUMN CC_CommodityContractID NUMERIC(18,0), CM_CommodityID NUMERIC(18,0)

11
วิธีที่เร็วที่สุดในการตรวจสอบว่ามีบันทึกอยู่หรือไม่
ตามที่ชื่อแนะนำ ... ฉันกำลังพยายามหาวิธีที่เร็วที่สุดโดยมีค่าใช้จ่ายน้อยที่สุดเพื่อดูว่ามีระเบียนอยู่ในตารางหรือไม่ แบบสอบถามตัวอย่าง: SELECT COUNT(*) FROM products WHERE products.id = ?; vs SELECT COUNT(products.id) FROM products WHERE products.id = ?; vs SELECT products.id FROM products WHERE products.id = ?; สมมติว่า?มีการสลับกับ'TB100'... ทั้งแบบสอบถามที่หนึ่งและที่สองจะส่งกลับผลลัพธ์เดียวกัน (พูดว่า ... 1สำหรับการสนทนานี้) แบบสอบถามล่าสุดจะส่งคืน'TB100'ตามที่คาดไว้หรือไม่มีสิ่งใดหากidไม่มีอยู่ในตาราง จุดประสงค์คือการคิดออกว่าidอยู่ในตารางหรือไม่ มิฉะนั้นโปรแกรมจะแทรกเร็กคอร์ดต่อไปถ้าเป็นเช่นนั้นโปรแกรมจะข้ามหรือดำเนินการค้นหา UPDATE ตามตรรกะของโปรแกรมอื่นที่อยู่นอกขอบเขตของคำถามนี้ ไหนเร็วกว่าและมีค่าใช้จ่ายน้อยลง (ซึ่งจะถูกทำซ้ำหลายหมื่นครั้งต่อการรันโปรแกรมและจะทำงานหลายครั้งต่อวัน) (การรันเคียวรีนี้เทียบกับ M $ SQL Server จาก Java ผ่านทาง …

4
Foreign Key เป็นคีย์ที่ไม่ใช่คีย์หลัก
ฉันมีตารางที่เก็บข้อมูลและหนึ่งในแถวนั้นจำเป็นต้องมีอยู่ในตารางอื่น ดังนั้นฉันต้องการคีย์ต่างประเทศเพื่อรักษาความสมบูรณ์ของการอ้างอิง CREATE TABLE table1 ( ID INT NOT NULL IDENTITY(1,1) PRIMARY KEY, AnotherID INT NOT NULL, SomeData VARCHAR(100) NOT NULL ) CREATE TABLE table2 ( ID INT NOT NULL IDENTITY(1,1) PRIMARY KEY, AnotherID INT NOT NULL, MoreData VARCHAR(30) NOT NULL, CONSTRAINT fk_table2_table1 FOREIGN KEY (AnotherID) REFERENCES table1 (AnotherID) ) …
143 sql  sql-server 

8
ไม่รวม SQL“ ระหว่าง”
ฉันมีคำถามดังนี้: SELECT * FROM Cases WHERE created_at BETWEEN '2013-05-01' AND '2013-05-01' แต่สิ่งนี้ไม่ให้ผลลัพธ์แม้ว่าจะมีข้อมูลในวันที่ 1 ก็ตาม created_atดูเหมือนว่า2013-05-01 22:25:19ฉันสงสัยว่ามันจะเกี่ยวข้องกับเวลา? จะแก้ไขได้อย่างไร? จะใช้ได้ดีถ้าฉันทำช่วงวันที่ที่ใหญ่ขึ้น แต่ควร (รวม) กับวันที่เดียวด้วย

18
เพิ่มสีแถวสลับไปยังรายงานบริการรายงานของ SQL Server
คุณแรเงาแถวสลับในรายงานบริการรายงานของ SQL Server ได้อย่างไร แก้ไข:มีพวงของคำตอบที่ดีที่ระบุด้านล่างเป็น - จากการที่รวดเร็วและง่ายที่จะซับซ้อนและครอบคลุม อนิจจาฉันสามารถเลือกเพียงหนึ่ง ...

8
ตรวจสอบการเปลี่ยนแปลงตาราง SQL Server หรือไม่
ฉันจะตรวจสอบฐานข้อมูล SQL Server สำหรับการเปลี่ยนแปลงตารางโดยไม่ต้องใช้ทริกเกอร์หรือปรับเปลี่ยนโครงสร้างของฐานข้อมูลได้อย่างไร? สภาพแวดล้อมการเขียนโปรแกรมที่ฉันต้องการคือ. NETและ C # ฉันต้องการให้รองรับSQL Server 2000 SP4 หรือใหม่กว่า แอปพลิเคชันของฉันคือการแสดงข้อมูลแบบ bolt-on สำหรับผลิตภัณฑ์ของ บริษัท อื่น ฐานลูกค้าของเราอยู่ในหลักพันดังนั้นฉันไม่ต้องการที่จะใส่ข้อกำหนดที่เราแก้ไขตารางผู้จำหน่ายบุคคลที่สามในทุก ๆ การติดตั้ง โดย"การเปลี่ยนแปลงตาราง"ฉันหมายถึงการเปลี่ยนแปลงข้อมูลตารางไม่ใช่การเปลี่ยนแปลงโครงสร้างตาราง ในที่สุดฉันต้องการให้การเปลี่ยนแปลงเกิดขึ้นในแอปพลิเคชันของฉันแทนที่จะต้องตรวจสอบการเปลี่ยนแปลงเป็นระยะ หลักสูตรที่ดีที่สุดของการดำเนินการให้ความต้องการของฉัน (ไม่ทริกเกอร์หรือสคีแก้ไข, SQL Server 2000 และ 2005) น่าจะเป็นที่จะใช้BINARY_CHECKSUMฟังก์ชั่นในT-SQL วิธีที่ฉันวางแผนที่จะใช้คือ: ทุกๆ X วินาทีจะเรียกใช้คิวรีต่อไปนี้: SELECT CHECKSUM_AGG(BINARY_CHECKSUM(*)) FROM sample_table WITH (NOLOCK); และเปรียบเทียบกับค่าที่เก็บไว้ หากมีการเปลี่ยนแปลงค่าไปผ่านแถวตารางโดยแถวโดยใช้แบบสอบถาม: SELECT row_id, BINARY_CHECKSUM(*) FROM sample_table WITH (NOLOCK); …

4
แก้ไขตารางเพิ่มไวยากรณ์คอลัมน์
ฉันกำลังพยายามเพิ่มคอลัมน์ข้อมูลประจำตัวโดยทางโปรแกรมในตารางพนักงาน ไม่แน่ใจในสิ่งที่ฉันทำผิดกับไวยากรณ์ของฉัน ALTER TABLE Employees ADD COLUMN EmployeeID int NOT NULL IDENTITY (1, 1) ALTER TABLE Employees ADD CONSTRAINT PK_Employees PRIMARY KEY CLUSTERED ( EmployeeID ) WITH( STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] ผมทำอะไรผิดหรือเปล่า? ฉันพยายามส่งออกสคริปต์ แต่ SQL Mgmt Studio ทำการเปลี่ยนชื่อ Temp Table …
142 sql  sql-server  tsql  ddl 

11
วิธีการส่งออกข้อมูลเป็นรูปแบบ CSV จาก SQL Server โดยใช้ sqlcmd
ฉันสามารถถ่ายโอนข้อมูลลงในไฟล์ข้อความได้อย่างง่ายดายเช่น: sqlcmd -S myServer -d myDB -E -Q "select col1, col2, col3 from SomeTable" -o "MyData.txt" อย่างไรก็ตามฉันได้ดูไฟล์วิธีใช้แล้วSQLCMDแต่ยังไม่เห็นตัวเลือกสำหรับ CSV โดยเฉพาะ มีวิธีการถ่ายโอนข้อมูลจากตารางลงในไฟล์ข้อความ CSV โดยใช้SQLCMDหรือไม่?
142 sql-server  file  csv  sqlcmd 

3
กรณีในเลือกคำชี้แจง
ฉันมีคำสั่ง SQL ที่มีCASEจากSELECTและฉันไม่สามารถทำให้ถูกต้องได้ พวกคุณช่วยแสดงให้ฉันเห็นตัวอย่างของCASEกรณีและปัญหาได้อย่างไรและผลลัพธ์มาจากคดีความ ตัวอย่างเช่น: Select xxx, yyy case : desc case when bbb then 'blackberry'; when sss then 'samsung'; end from (select ???? ..... ตำแหน่งที่แสดงผลลัพธ์ name age handphone xxx1 yyy1 blackberry xxx2 yyy2 blackberry
141 sql  sql-server  case 

3
คุณเปิดไฟล์ SDF (SQL Server Compact Edition) ได้อย่างไร [ปิด]
ปิด. คำถามนี้ไม่เป็นไปตามหลักเกณฑ์กองมากเกิน ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้เป็นไปตามหัวข้อสำหรับ Stack Overflow ปิดให้บริการใน5 ปีที่ผ่านมา ปรับปรุงคำถามนี้ ฉันมีไฟล์ SDF และฉันต้องการดึงสคีมาของมันและสืบค้นด้วย UI บางอย่าง ฉันจะทำสิ่งนี้ได้อย่างไร ฉันไม่มี Visual Studio ติดตั้งบนเครื่องและฉันต้องการติดตั้งซอฟต์แวร์น้อยที่สุด

5
แบบสอบถาม SQL สำหรับวันที่วันนี้ลบสองเดือน
ฉันต้องการเลือกระเบียนทั้งหมดในตารางที่วันที่ของรายการนั้นเก่ากว่า 2 เดือน ความคิดใดที่ฉันสามารถทำได้ ฉันยังไม่ได้ลองอะไรเลย แต่ฉันมาที่จุดนี้: SELECT COUNT(1) FROM FB WHERE Dte > GETDATE()
141 sql  sql-server 

5
วิธีตรวจสอบว่ามีฟังก์ชันอยู่ในฐานข้อมูล SQL หรือไม่
ฉันต้องการตรวจสอบว่ามีฟังก์ชันอยู่ในฐานข้อมูลหรือไม่เพื่อที่ฉันจะได้ทิ้งมันและสร้างขึ้นมาใหม่ โดยพื้นฐานแล้วควรเป็นรหัสต่อไปนี้ที่ฉันใช้สำหรับขั้นตอนการจัดเก็บ: IF EXISTS ( SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[dbo].[SP_TEST]') AND OBJECTPROPERTY(id, N'IsProcedure') = 1 )

12
EF5: ไม่สามารถแนบไฟล์ '{0}' เป็นฐานข้อมูล '{1}'
ฉันพบปัญหาตรงตามที่อธิบายไว้ที่นี่ (อ่านหัวข้อ "ไม่สามารถแนบไปกับไฟล์ MDF ที่ถูกลบ") แต่วิธีการแก้ไขปัญหาไม่ได้บอกว่ามี ... ในระยะสั้นปัญหาคือหลังจากลบ.mdfไฟล์ข้อยกเว้นต่อไปนี้จะถูกโยนเมื่อฉันพยายามเข้าถึงฐานข้อมูลโดยใช้ EF 5.0 DataException-> EntityException-> SqlException: ไม่สามารถแนบไฟล์ '{0}' เป็นฐานข้อมูล '{1}' ฉันลบไฟล์ DB และตอนนี้ฉันได้รับข้อความแสดงข้อผิดพลาดที่น่ารังเกียจเมื่อเรียกใช้แอปพลิเคชันโดยคาดว่าจะใช้เป็นตัวเริ่มต้น มีวิธีใดบ้างในการแก้ไขปัญหานี้

2
ไฟล์ MDF คืออะไร [ปิด]
ปิด. คำถามนี้เป็นคำถามปิดหัวข้อ ขณะนี้ยังไม่ยอมรับคำตอบ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้เป็นหัวข้อสำหรับ Stack Overflow ปิดให้บริการใน8 ปีที่ผ่านมา ปรับปรุงคำถามนี้ นี่เป็นเหมือนฐานข้อมูลประเภท "ฝังตัว" หรือไม่ ไฟล์ที่มีฐานข้อมูลในตัว?
140 mdf  sql-server  database  file 

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