คำถามติดแท็ก tsql

T-SQL (ภาษาคิวรีธุรกรรมเชิงโครงสร้าง) เป็นส่วนเสริมของฟังก์ชัน SQL ที่รองรับโดย Sybase ASE และ Microsoft SQL Server อย่าใช้แท็กนี้สำหรับการสืบค้นที่เกี่ยวข้องกับ MySQL, PostgreSql, Oracle (Pl / SQL) โปรดทราบว่ารหัส SQL ที่กำลังเขียนโดยใช้ LINQ จะไม่เป็นส่วนหนึ่งของแท็กนี้ด้วย แท็กนี้สร้างขึ้นโดยเฉพาะสำหรับการเขียนโปรแกรม SQL ขั้นสูงโดยใช้ Microsoft SQL Server


12
CROSS JOIN เทียบกับ INNER JOIN ใน SQL
ความแตกต่างระหว่างCROSS JOINและINNER JOINคืออะไร? ข้ามเข้าร่วม: SELECT Movies.CustomerID, Movies.Movie, Customers.Age, Customers.Gender, Customers.[Education Level], Customers.[Internet Connection], Customers.[Marital Status], FROM Customers CROSS JOIN Movies เข้าร่วมภายใน: SELECT Movies.CustomerID, Movies.Movie, Customers.Age, Customers.Gender, Customers.[Education Level], Customers.[Internet Connection], Customers.[Marital Status] FROM Customers INNER JOIN Movies ON Customers.CustomerID = Movies.CustomerID อันไหนดีกว่าและทำไมฉันต้องใช้อันใดอันหนึ่ง

20
SQL Server String หรือข้อมูลไบนารีจะถูกตัดทอน
ฉันเกี่ยวข้องกับโครงการโยกย้ายข้อมูล ฉันได้รับข้อผิดพลาดต่อไปนี้เมื่อฉันพยายามแทรกข้อมูลจากตารางหนึ่งไปยังอีกตารางหนึ่ง (SQL Server 2005): ข่าวสารเกี่ยวกับ 8152 ระดับ 16 สถานะ 13 สตริง1 หรือข้อมูลไบนารีจะถูกตัดทอน คอลัมน์แหล่งข้อมูลตรงกับประเภทข้อมูลและอยู่ในคำจำกัดความความยาวของคอลัมน์ตารางปลายทางดังนั้นฉันจึงสูญเสียสิ่งที่อาจทำให้เกิดข้อผิดพลาดนี้

30
จะสร้างช่วงของตัวเลขระหว่างตัวเลขสองตัวได้อย่างไร?
ฉันมีตัวเลขสองตัวเป็นอินพุตจากผู้ใช้เช่น 1000และ1050. ฉันจะสร้างตัวเลขระหว่างสองตัวเลขนี้โดยใช้แบบสอบถาม sql ในแถวแยกกันได้อย่างไร ฉันต้องการสิ่งนี้: 1000 1001 1002 1003 . . 1050

4
ได้รับอนุญาตให้ดำเนินการทุกขั้นตอนการจัดเก็บ
คำสั่งต่อไปนี้ให้สิทธิ์ผู้ใช้ "MyUser" แก่ผู้ใช้เพื่อเรียกใช้โพรซีเดอร์ที่เก็บไว้ทั้งหมดในฐานข้อมูลหรือไม่ GRANT EXECUTE TO [MyDomain\MyUser]

9
วิธีการรายงานข้อผิดพลาดจากฟังก์ชั่นที่ผู้ใช้กำหนดของ SQL Server
ฉันกำลังเขียนฟังก์ชั่นที่ผู้ใช้กำหนดใน SQL Server 2008 ฉันรู้ว่าฟังก์ชั่นไม่สามารถเพิ่มข้อผิดพลาดได้ตามปกติ - ถ้าคุณพยายามรวมคำสั่ง RAISERROR คำสั่ง SQL จะคืนค่า: Msg 443, Level 16, State 14, Procedure ..., Line ... Invalid use of a side-effecting operator 'RAISERROR' within a function. แต่ความจริงก็คือฟังก์ชั่นรับอินพุตบางส่วนซึ่งอาจไม่ถูกต้องและหากเป็นเช่นนั้นจะไม่มีค่าที่มีความหมายที่ฟังก์ชันสามารถส่งคืนได้ ฉันจะทำอย่างไรดี แน่นอนว่าฉันสามารถส่งคืน NULL ได้ แต่มันจะเป็นเรื่องยากสำหรับนักพัฒนาที่ใช้ฟังก์ชั่นในการแก้ไขปัญหานี้ ฉันสามารถทำให้เกิดการหารด้วยศูนย์หรืออะไรทำนองนั้น - นี่จะสร้างข้อความแสดงข้อผิดพลาด แต่เป็นการทำให้เข้าใจผิด มีวิธีใดบ้างที่ฉันสามารถแจ้งข้อความแสดงข้อผิดพลาดของตัวเองได้

6
T-SQL กระบวนงานที่เก็บไว้ซึ่งยอมรับค่า Id หลายรายการ
มีวิธีที่สง่างามในการจัดการผ่านรายการรหัสเป็นพารามิเตอร์ไปยังขั้นตอนการจัดเก็บหรือไม่? ตัวอย่างเช่นฉันต้องการแผนก 1, 2, 5, 7, 20 ส่งคืนโดยขั้นตอนการจัดเก็บของฉัน ในอดีตฉันได้ผ่านรายการรหัสที่คั่นด้วยจุลภาคเช่นรหัสด้านล่าง แต่รู้สึกสกปรกจริงๆ SQL Server 2005 เป็นข้อ จำกัด เดียวที่ฉันมี create procedure getDepartments @DepartmentIds varchar(max) as declare @Sql varchar(max) select @Sql = 'select [Name] from Department where DepartmentId in (' + @DepartmentIds + ')' exec(@Sql)

12
ความแตกต่างระหว่าง MySQL และ SQL Server [ปิด]
ตามที่เป็นอยู่ในปัจจุบันคำถามนี้ไม่เหมาะสำหรับรูปแบบคำถาม & คำตอบของเรา เราคาดหวังคำตอบที่จะได้รับการสนับสนุนจากข้อเท็จจริงการอ้างอิงหรือความเชี่ยวชาญ แต่คำถามนี้อาจเรียกร้องให้มีการอภิปรายโต้แย้งโต้แย้งหรือการอภิปรายเพิ่มเติม หากคุณรู้สึกว่าคำถามนี้สามารถปรับปรุงและเปิดใหม่ได้โปรดไปที่ศูนย์ช่วยเหลือเพื่อขอคำแนะนำ ปิดให้บริการใน7 ปีที่ผ่านมา ฉันเป็นนักพัฒนาASP.NETที่ใช้Microsoft SQL Serverสำหรับความต้องการฐานข้อมูลทั้งหมดของฉัน (ทั้งที่ทำงานและสำหรับโครงการส่วนตัว) ฉันกำลังพิจารณาทดลองใช้LAMP stack สำหรับโครงการส่วนตัวของฉัน อะไรคือความแตกต่างหลักระหว่างMySQLและSQL Server? คือการใช้วิธีการจัดเก็บการปฏิบัติร่วมกันในMySQL? คำแนะนำหรือแหล่งข้อมูลที่คุณแนะนำให้ช่วยฉันด้วยสวิตช์? สำหรับผู้ที่มีประสบการณ์ทั้งสองมีคุณสมบัติที่ขาดหายไปจากMySQLอะไร?
144 mysql  sql-server  tsql 

12
Pass Array Parameter ใน SqlCommand
ฉันกำลังพยายามส่งผ่านพารามิเตอร์อาร์เรย์ไปยัง SQL commnd ใน C # เหมือนด้านล่าง แต่มันไม่ทำงาน ใครเคยพบกันมาก่อนหรือไม่ string sqlCommand = "SELECT * from TableA WHERE Age IN (@Age)"; SqlConnection sqlCon = new SqlConnection(connectString); SqlCommand sqlComm = new SqlCommand(); sqlComm.Connection = sqlCon; sqlComm.CommandType = System.Data.CommandType.Text; sqlComm.CommandText = sqlCommand; sqlComm.CommandTimeout = 300; sqlComm.Parameters.Add("@Age", SqlDbType.NVarChar); StringBuilder sb = new StringBuilder(); foreach …
144 c#  tsql 

13
นับจำนวนระเบียนที่ส่งคืนโดยจัดกลุ่มโดย
ฉันจะนับจำนวนระเบียนที่ส่งคืนโดยกลุ่มตามแบบสอบถามได้อย่างไร เช่น: select count(*) from temptable group by column_1, column_2, column_3, column_4 ให้ฉัน, 1 1 2 ฉันต้องนับบันทึกข้างต้นเพื่อรับ 1 + 1 + 1 = 3

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)

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ฉันสงสัยว่ามันจะเกี่ยวข้องกับเวลา? จะแก้ไขได้อย่างไร? จะใช้ได้ดีถ้าฉันทำช่วงวันที่ที่ใหญ่ขึ้น แต่ควร (รวม) กับวันที่เดียวด้วย

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 


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