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

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

28
ค้นหาตารางทั้งหมดที่มีคอลัมน์พร้อมชื่อที่ระบุ - MS SQL Server
ต้องการปรับปรุงโพสต์นี้หรือไม่? ให้คำตอบโดยละเอียดสำหรับคำถามนี้รวมถึงการอ้างอิงและคำอธิบายว่าทำไมคำตอบของคุณถึงถูกต้อง คำตอบที่ไม่มีรายละเอียดเพียงพออาจแก้ไขหรือลบออกได้ เป็นไปได้หรือไม่ที่จะสืบค้นชื่อตารางที่มีคอลัมน์อยู่ LIKE '%myName%' ?

28
ตรวจสอบว่ามีตารางอยู่ใน SQL Server หรือไม่
ฉันต้องการให้เป็นการอภิปรายขั้นสุดท้ายเกี่ยวกับวิธีตรวจสอบว่ามีตารางอยู่ใน SQL Server 2000/2005 โดยใช้คำสั่ง SQL หรือไม่ เมื่อคุณได้รับคำตอบจาก Google คุณจะได้คำตอบที่แตกต่างกันมากมาย มีวิธีอย่างเป็นทางการ / ย้อนกลับและไปข้างหน้าในการทำมัน? นี่เป็นวิธีที่เป็นไปได้สองวิธี วิธีใดที่หนึ่งในสองคือมาตรฐาน / วิธีที่ดีที่สุดในการทำมัน? วิธีแรก: IF EXISTS (SELECT 1 FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_TYPE='BASE TABLE' AND TABLE_NAME='mytablename') SELECT 1 AS res ELSE SELECT 0 AS res; วิธีที่สอง: IF OBJECT_ID (N'mytablename', N'U') IS NOT NULL SELECT 1 AS res …

14
วิธีที่ดีที่สุดในการรับข้อมูลประจำตัวของแถวที่แทรก?
วิธีที่ดีที่สุดในการIDENTITYแทรกแถวคืออะไร ฉันรู้เกี่ยวกับ@@IDENTITYและIDENT_CURRENTและSCOPE_IDENTITYแต่ไม่เข้าใจข้อดีข้อเสียของแต่ละข้อ ใครช่วยอธิบายความแตกต่างได้และเมื่อใดควรใช้แต่ละข้อ
1119 sql  sql-server  tsql 

11
ดัชนีแบบคลัสเตอร์และไม่ใช่แบบคลัสเตอร์หมายถึงอะไรจริง ๆ
ฉันมีฐานข้อมูลที่ จำกัด กับ DB และใช้ DB เป็นแอปพลิเคชันโปรแกรมเมอร์เท่านั้น ผมอยากจะทราบเกี่ยวกับและClustered Non clustered indexesฉัน googled และสิ่งที่ฉันพบคือ: ดัชนีคลัสเตอร์เป็นดัชนีชนิดพิเศษที่เรียงลำดับวิธีการบันทึกในตารางที่จัดเก็บทางกายภาพ ดังนั้นตารางสามารถมีดัชนีคลัสเตอร์เดียวเท่านั้น โหนดใบไม้ของดัชนีคลัสเตอร์มีหน้าข้อมูล ดัชนี nonclustered เป็นดัชนีชนิดพิเศษที่ลำดับลอจิคัลของดัชนีไม่ตรงกับลำดับทางกายภาพที่เก็บไว้ของแถวบนดิสก์ โหนดลีฟของดัชนีที่ไม่ได้คลัสเตอร์จะไม่ประกอบด้วยหน้าข้อมูล โหนดใบไม้จะมีแถวดัชนีแทน สิ่งที่ฉันพบใน SO คืออะไรความแตกต่างระหว่างดัชนีแบบคลัสเตอร์และแบบไม่รวมกลุ่มคืออะไร . มีคนอธิบายเรื่องนี้เป็นภาษาอังกฤษธรรมดาได้ไหม

30
กำหนดพารามิเตอร์ SQL IN clause
ฉันจะกำหนดพารามิเตอร์การสืบค้นที่มีส่วนINคำสั่งที่มีอาร์กิวเมนต์จำนวนตัวแปรเช่นนี้ได้อย่างไร SELECT * FROM Tags WHERE Name IN ('ruby','rails','scruffy','rubyonrails') ORDER BY Count DESC ในแบบสอบถามนี้จำนวนอาร์กิวเมนต์อาจอยู่ที่ใดก็ได้ตั้งแต่ 1 ถึง 5 ฉันไม่ต้องการใช้ขั้นตอนการจัดเก็บเฉพาะสำหรับนี้ (หรือ XML) แต่ถ้ามีบางวิธีที่หรูหราโดยเฉพาะกับSQL Server 2008ฉันเปิดให้

6
ความแตกต่างระหว่างเข้าร่วมและเข้าร่วมภายใน
การเข้าร่วมทั้งสองนี้จะให้ผลลัพธ์แบบเดียวกันกับฉัน: SELECT * FROM table JOIN otherTable ON table.ID = otherTable.FK VS SELECT * FROM table INNER JOIN otherTable ON table.ID = otherTable.FK มีความแตกต่างระหว่างงบในการปฏิบัติงานหรืออื่น ๆ ? มันแตกต่างกันระหว่างการใช้SQL ที่แตกต่างกันหรือไม่?

11
ฉันจะหลีกเลี่ยงคำพูดเดียวใน SQL Server ได้อย่างไร
ฉันกำลังพยายามหาinsertข้อมูลตัวอักษรลงในตารางที่SQL Server9 ข้อความประกอบด้วยเครื่องหมายคำพูดเดี่ยว (') ฉันจะหนีได้อย่างไร ฉันพยายามใช้สองคำพูดเดียว แต่มันทำให้ฉันมีข้อผิดพลาด เช่น. insert into my_table values('hi, my name''s tim.');

22
SQL อัพเดตจากตารางหนึ่งไปอีกตารางหนึ่งขึ้นอยู่กับการจับคู่ ID
ฉันมีฐานข้อมูลที่มีและaccount numbers card numbersฉันจับคู่เหล่านี้เป็นไฟล์กับupdateหมายเลขบัตรใด ๆ กับหมายเลขบัญชีดังนั้นฉันจึงทำงานกับหมายเลขบัญชีเท่านั้น ฉันสร้างมุมมองที่เชื่อมโยงตารางกับฐานข้อมูลบัญชี / บัตรเพื่อส่งกลับTable IDและหมายเลขบัญชีที่เกี่ยวข้องและตอนนี้ฉันต้องอัปเดตระเบียนเหล่านั้นที่ ID ตรงกับหมายเลขบัญชี นี่คือSales_Importตารางที่account numberจำเป็นต้องปรับปรุงฟิลด์: LeadID AccountNumber 147 5807811235 150 5807811326 185 7006100100007267039 และนี่คือRetrieveAccountNumberตารางที่ฉันต้องอัปเดตจาก: LeadID AccountNumber 147 7006100100007266957 150 7006100100007267039 ฉันลองด้านล่าง แต่โชคไม่ดี: UPDATE [Sales_Lead].[dbo].[Sales_Import] SET [AccountNumber] = (SELECT RetrieveAccountNumber.AccountNumber FROM RetrieveAccountNumber WHERE [Sales_Lead].[dbo].[Sales_Import]. LeadID = RetrieveAccountNumber.LeadID) มันอัปเดตหมายเลขบัตรเป็นหมายเลขบัญชี แต่หมายเลขบัญชีจะถูกแทนที่ด้วย NULL

13
ฉันควรใช้การสมัครไขว้กับการเข้าร่วมวงใน
วัตถุประสงค์หลักในการใช้CROSS APPLYคืออะไร ฉันได้อ่าน (ผ่านทางโพสต์บนอินเทอร์เน็ต) ที่cross applyมีประสิทธิภาพมากขึ้นเมื่อเลือกผ่านชุดข้อมูลขนาดใหญ่หากคุณแบ่งพาร์ติชัน (เพจมาถึงใจ) ฉันก็รู้ว่าCROSS APPLYไม่จำเป็นต้องมี UDF เป็นตารางขวา ในINNER JOINข้อความค้นหาส่วนใหญ่(ความสัมพันธ์แบบหนึ่งต่อหลายคน) ฉันสามารถเขียนใหม่เพื่อใช้งานCROSS APPLYได้ แต่จะให้แผนการดำเนินการเทียบเท่าเสมอ ทุกคนสามารถให้ฉันเป็นตัวอย่างที่ดีของเมื่อCROSS APPLYสร้างความแตกต่างในกรณีที่INNER JOINจะทำงานได้ดี? แก้ไข: นี่เป็นตัวอย่างเล็กน้อยที่แผนการดำเนินการเหมือนกันทุกประการ (แสดงให้ฉันดูว่าพวกเขาแตกต่างกันที่ไหนและcross applyเร็วกว่า / มีประสิทธิภาพมากขึ้น) create table Company ( companyId int identity(1,1) , companyName varchar(100) , zipcode varchar(10) , constraint PK_Company primary key (companyId) ) GO create table Person ( …


11
อัปเดตตารางโดยใช้ JOIN ใน SQL Server หรือไม่
ฉันต้องการอัปเดตคอลัมน์ในตารางที่ทำการเข้าร่วมในตารางอื่นเช่น: UPDATE table1 a INNER JOIN table2 b ON a.commonfield = b.[common field] SET a.CalculatedColumn= b.[Calculated Column] WHERE b.[common field]= a.commonfield AND a.BatchNO = '110' แต่มันก็บ่นว่า: ข่าวสารเกี่ยวกับ 170 ระดับ 15 สถานะ 1 บรรทัด 2 บรรทัด 2: ไวยากรณ์ไม่ถูกต้องใกล้กับ 'a' เกิดอะไรขึ้นที่นี่?

19
ฟังก์ชันกับกระบวนงานที่เก็บไว้ใน SQL Server
ฉันได้เรียนรู้ฟังก์ชั่นและขั้นตอนการจัดเก็บมาระยะหนึ่งแล้ว แต่ฉันไม่ทราบสาเหตุและเวลาที่ฉันควรใช้ฟังก์ชั่นหรือขั้นตอนการจัดเก็บ พวกเขาดูเหมือนฉันอาจเป็นเพราะฉันเป็นมือใหม่เกี่ยวกับเรื่องนั้น บางคนบอกฉันได้ไหมว่าเพราะอะไร

16
ข้อ จำกัด foreign key สามารถปิดใช้งานชั่วคราวโดยใช้ T-SQL ได้อย่างไร
การปิดใช้งานและการเปิดใช้งานข้อ จำกัด คีย์ต่างประเทศรองรับใน SQL Server หรือไม่ หรือจะเป็นตัวเลือกเดียวของฉันไปdropแล้วอีกcreateข้อ จำกัด ?

22
ค้นหาข้อความในกระบวนงานที่เก็บไว้ใน SQL Server
ฉันต้องการค้นหาข้อความจากขั้นตอนการจัดเก็บฐานข้อมูลทั้งหมดของฉัน ฉันใช้ SQL ด้านล่าง: SELECT DISTINCT o.name AS Object_Name, o.type_desc FROM sys.sql_modules m INNER JOIN sys.objects o ON m.object_id = o.object_id WHERE m.definition Like '%[ABD]%'; ฉันต้องการค้นหา[ABD]ในกระบวนงานที่เก็บไว้ทั้งหมดรวมถึงวงเล็บเหลี่ยม แต่ไม่ได้ให้ผลลัพธ์ที่เหมาะสม ฉันจะเปลี่ยนคำถามเพื่อให้บรรลุสิ่งนี้ได้อย่างไร

14
ฉันควรใช้! = หรือ <> เพื่อไม่เท่ากันใน T-SQL หรือไม่
ฉันได้เห็นSQLว่าการใช้งานทั้งใน!=และ&lt;&gt;สำหรับไม่เท่ากัน ไวยากรณ์ที่ต้องการคืออะไรและเพราะเหตุใด ผมชอบ!=เพราะทำให้ผมนึกถึง&lt;&gt;Visual Basic
800 sql  sql-server  tsql 

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