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

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

15
การแปลงล้มเหลวเมื่อแปลงวันที่และ / หรือเวลาจากสตริงอักขระขณะแทรกวันที่และเวลา
ฉันพยายามสร้างตารางดังนี้ create table table1(date1 datetime,date2 datetime); ก่อนอื่นฉันลองใส่ค่าดังนี้ insert into table1 values('21-02-2012 6:10:00 PM','01-01-2001 12:00:00 AM'); มันทำให้เกิดข้อผิดพลาดในการพูด ไม่สามารถแปลง varchar เป็น datetime จากนั้นฉันลองรูปแบบด้านล่างเป็นหนึ่งในโพสต์ที่แนะนำโดย stackoverflow ของเรา insert into table1 values(convert(datetime,'21-02-2012 6:10:00 PM',5) ,convert(datetime,'01-01-2001 12:00:00 AM',5)); แต่ฉันยังคงได้รับข้อผิดพลาดที่บอกว่า การแปลงล้มเหลวเมื่อแปลงวันที่และ / หรือเวลาจากสตริงอักขระ ข้อเสนอแนะใด ๆ
164 sql  sql-server 

6
Tablix: ทำซ้ำแถวส่วนหัวในแต่ละหน้าไม่ทำงาน - Report Builder 3.0
ฉันมีแท็บเล็ตที่มีแถวจำนวนมากที่ครอบคลุมหลายหน้า ฉันได้ตั้งค่าคุณสมบัติ Tablix ทำซ้ำแถวส่วนหัวในแต่ละหน้า แต่ไม่สามารถใช้งานได้ ฉันอ่านบางแห่งว่านี่เป็นข้อผิดพลาดที่รู้จักใน Report Builder 3.0 มันเป็นเรื่องจริงเหรอ? ถ้าไม่มีอะไรอีกบ้างที่ต้องทำ?

10
ข้อผิดพลาดในการเปลี่ยนชื่อฐานข้อมูลใน SQL Server 2008 R2
ฉันใช้แบบสอบถามนี้เพื่อเปลี่ยนชื่อฐานข้อมูล: ALTER DATABASE BOSEVIKRAM MODIFY NAME = [BOSEVIKRAM_Deleted] แต่มันแสดงข้อผิดพลาดเมื่อ excuting: ข่าวสารเกี่ยวกับ 5030 ระดับ 16 สถานะ 2 บรรทัด 1 ไม่สามารถล็อกฐานข้อมูลเพื่อทำการดำเนินการได้ มีข้อผิดพลาดเกิดขึ้นกับข้อความค้นหาของฉันหรือไม่

7
SQL เข้าร่วม vs ประสิทธิภาพ?
ฉันมีกรณีที่ใช้ JOIN หรือ IN จะให้ผลลัพธ์ที่ถูกต้อง ... ซึ่งโดยทั่วไปมีประสิทธิภาพที่ดีขึ้นและทำไม เท่าไหร่ก็ไม่ขึ้นอยู่กับสิ่งที่เซิร์ฟเวอร์ฐานข้อมูลที่คุณกำลังทำงานอยู่หรือไม่ (FYI ฉันใช้ MSSQL)

13
จะค้นหาการพึ่งพาคีย์ต่างประเทศใน SQL Server ได้อย่างไร
ฉันจะค้นหาการพึ่งพาคีย์ต่างประเทศทั้งหมดในคอลัมน์ใดคอลัมน์หนึ่งได้อย่างไร อะไรคือทางเลือกที่แตกต่างกัน (กราฟิกใน SSMS, แบบสอบถาม / มุมมองใน SQL Server, เครื่องมือฐานข้อมูลบุคคลที่สาม, รหัสใน. NET)



9
การใช้วงเล็บเหลี่ยม [] ในคำสั่ง sql คืออะไร?
ฉันสังเกตว่า Visual Studio 2008 กำลังวางวงเล็บเหลี่ยมรอบชื่อคอลัมน์ใน sql วงเล็บมีข้อได้เปรียบหรือไม่? เมื่อฉันส่งรหัส T-SQL ฉันไม่เคยใส่ใจมันเลย ตัวอย่าง: Visual Studio: SELECT [column1], [column2] etc... ทางของฉัน: SELECT column1, column2 etc...
163 sql-server  syntax 

16
SQL Call Stored Procedure สำหรับแต่ละแถวโดยไม่ใช้เคอร์เซอร์
เราจะเรียกโพรซีเดอร์ที่เก็บไว้สำหรับแต่ละแถวในตารางโดยที่คอลัมน์ของแถวเป็นพารามิเตอร์อินพุตไปยัง sp โดยไม่ต้องใช้เคอร์เซอร์ได้อย่างไร?

4
ฉันสามารถสร้างข้อ จำกัด เริ่มต้นที่มีชื่อในคำสั่งเพิ่มคอลัมน์ใน SQL Server ได้หรือไม่
ใน SQL Server ฉันมีคอลัมน์ใหม่ในตาราง: ALTER TABLE t_tableName ADD newColumn NOT NULL สิ่งนี้ล้มเหลวเนื่องจากฉันระบุ NOT NULL โดยไม่ระบุข้อ จำกัด เริ่มต้น ตารางไม่ควรมีข้อ จำกัด เริ่มต้น ในการหลีกเลี่ยงปัญหานี้ฉันสามารถสร้างตารางด้วยข้อ จำกัด เริ่มต้นแล้วลบออก อย่างไรก็ตามไม่มีวิธีใดที่จะระบุว่าข้อ จำกัด เริ่มต้นควรตั้งชื่อเป็นส่วนหนึ่งของคำสั่งนี้ดังนั้นวิธีเดียวที่ฉันจะกำจัดมันคือการมีขั้นตอนการจัดเก็บที่ค้นหาใน sys.default_constraints ตาราง. นี่เป็นสิ่งที่ยุ่งเล็กน้อย / verbose สำหรับการดำเนินการที่มีแนวโน้มที่จะเกิดขึ้นมากมาย ไม่มีใครมีวิธีแก้ปัญหาที่ดีกว่านี้?

23
แทรกการปรับปรุงทริกเกอร์วิธีการตรวจสอบว่าแทรกหรือปรับปรุง
ฉันต้องเขียนส่วนแทรก, อัปเดตทริกเกอร์ในตาราง A ซึ่งจะลบแถวทั้งหมดออกจากตาราง B ที่มีหนึ่งคอลัมน์ (บอกว่าเรียง) มีค่าเช่นค่าที่แทรก / อัปเดตในคอลัมน์ของตาราง A (พูด Col1) ฉันจะเขียนมันอย่างไรเพื่อให้ฉันสามารถจัดการกับทั้งกรณีอัปเดตและแทรก ฉันจะตรวจสอบว่ามีการดำเนินการทริกเกอร์สำหรับการปรับปรุงหรือแทรก

12
ฉันจะลบอักขระแรกของคอลัมน์ที่ระบุในตารางได้อย่างไร
ใน SQL ฉันจะลบ 4 อักขระแรกของค่าของคอลัมน์ที่ระบุในตารางได้อย่างไร ชื่อคอลัมน์และค่าตัวอย่างคือStudent Code ABCD123Stu1231ฉันต้องการลบ 4 ตัวอักษรแรกจากตารางของฉันสำหรับบันทึกทั้งหมด กรุณาแนะนำฉัน
162 sql  sql-server  string  tsql 

15
เทคนิคที่ดีกว่าสำหรับการตัดเลขศูนย์ชั้นนำใน SQL Server หรือไม่
ฉันใช้มันมาระยะหนึ่งแล้ว: SUBSTRING(str_col, PATINDEX('%[^0]%', str_col), LEN(str_col)) อย่างไรก็ตามเมื่อเร็ว ๆ นี้ฉันพบปัญหาเกี่ยวกับคอลัมน์ที่มีอักขระ "0" ทั้งหมดเช่น '00000000' เนื่องจากไม่พบอักขระที่ไม่ใช่ "0" ให้ตรงกัน เทคนิคทางเลือกที่ฉันเคยเห็นคือการใช้TRIM: REPLACE(LTRIM(REPLACE(str_col, '0', ' ')), ' ', '0') ปัญหานี้มีปัญหาหากมีช่องว่างในตัวเพราะจะเปลี่ยนเป็น "0" เมื่อช่องว่างนั้นถูกเปลี่ยนกลับเป็น "0" ฉันพยายามหลีกเลี่ยงสเกลาร์ UDF ฉันพบปัญหาเกี่ยวกับประสิทธิภาพการทำงานกับ UDF จำนวนมากใน SQL Server 2005

15
LIMIT 10..20 ใน SQL Server
ฉันพยายามทำสิ่งที่ชอบ: SELECT * FROM table LIMIT 10,20 หรือ SELECT * FROM table LIMIT 10 OFFSET 10 แต่ใช้ SQL Server ทางออกเดียวที่ฉันค้นพบดูเหมือนว่าเป็น overkill SELECT * FROM ( SELECT *, ROW_NUMBER() OVER (ORDER BY name) as row FROM sys.databases ) a WHERE row > 5 and row <= 10 ฉันก็ค้นพบ : SELECT TOP …

13
วิธีการเปลี่ยนค่าคอลัมน์ข้อมูลประจำตัวโดยทางโปรแกรม
ฉันมี 2005 ฐานข้อมูล MS SQL กับตารางกับคอลัมน์Test เป็นคอลัมน์ข้อมูลประจำตัวIDID ฉันมีแถวในตารางนี้และทุกคนมีค่าที่เพิ่มขึ้นของ ID อัตโนมัติที่สอดคล้องกัน ตอนนี้ฉันต้องการเปลี่ยน ID ทุกตัวในตารางนี้ดังนี้: ID = ID + 1 แต่เมื่อฉันทำสิ่งนี้ฉันได้รับข้อผิดพลาด: ไม่สามารถอัปเดตคอลัมน์ข้อมูลประจำตัว 'ID' ฉันเคยลองแล้ว: ALTER TABLE Test NOCHECK CONSTRAINT ALL set identity_insert ID ON แต่นี่ไม่ได้แก้ปัญหา ฉันต้องมีการระบุตัวตนในคอลัมน์นี้ แต่ฉันต้องเปลี่ยนค่าเช่นกันเป็นครั้งคราว ดังนั้นคำถามของฉันคือทำอย่างไรจึงจะทำงานนี้ให้สำเร็จ

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