sondmk header
SQL SERVER เบื้องต้น

SQL SERVER : STRING SPLIT (Split Comma)

Post by Goborijung at 2020-07-01 12:51:02 | ID: 647

Declare @ItemType nvarchar(100) = '1,2,3'
Select * From Item Where ItemType IN (SELECT value FROM STRING_SPLIT(@ItemType, ','))

SQL SERVER : THAI_CI_AS Collation

Post by Goborijung at 2020-06-17 15:25:19 | ID: 622

https://medium.com/@kosolponpasitwet/thai-ci-as-%E0%B8%84%E0%B8%B7%E0%B8%AD%E0%B8%AD%E0%B8%B0%E0%B9%84%E0%B8%A3-fc01ba28ecd0 

THAI_CI_AS คืออะไร
เป็น การตั้งค่าของ database ว่าจะใช้ภาษาอะไร ตัวอักษรตัวเล็กกับตัวอักษรตัวใหญ่ถือว่าเป็นตัวเดียวกันหรือไม่ และสนใจวรรณยุกต์ที่ใช้หรือไม่

กรณี THAI_CI_AS จะหมายถึง
THAI = ภาษาไทย
CI = Case Insensitive = ถือว่าตัวอักษรตัวเล็กกับตัวใหญ่เป็นตัวเดียวกัน
AS = สนใจวรรณยุกต์ที่ใช้ สามัญ เอก โท ตรี จัตวา ถือว่าเป็นคนละตัวกัน

จะเห็นผลอย่างไร
เงื่อนไข WHERE col=’A’ จะได้ผลลัพท์ไม่ต่างจาก col=’a’
การเรียงลำดับด้วย ORDER BY จะเรียงลำดับตามวรรณยุกต์ที่ใช้ให้

จะรู้ได้อย่างไรว่าใช้ THAI_CI_AS อยู่หรือเปล่า
ดูได้จาก Microsoft SQL Server Management Studio ดู Property ของ Database ตรงบรรทัด Collation จะมีบอกไว้อยู่

SQL SERVER : การ Add Columns ใหม่เข้าไปใน Table (Add Field)

Post by Goborijung at 2022-04-06 06:37:19 | ID: 1449

-- การ Add Columns ใหม่เข้าไปใน Table
Syntax : 
ALTER TABLE table_name ADD column_name datatype

ตัวอย่าง :
ALTER TABLE CUSTOMERS ADD SEX char(1)


SQL SERVER : การ Backup Database แบบเอาแค่โครงสร้าง Database ไม่เอา Data

Post by Goborijung at 2022-04-06 06:18:00 | ID: 1447

-- การ Backup แบบเอาแค่โครงสร้าง Database ไม่เอา Data
1. เลือก Database Name
2. Right Click > Tasks > Generate Script...
3. เลือกหัวข้อ Script entire database and all database objects
4. เลือก Save as script file 
5. เลือก Location Save ตั้งชื่อ FileName.sql
6. Next > Next > รอให้มันสีเขียวทั้งหมด
7. กด Finish เป็นอันเสร็จเรียบร้อยจ้า


SQL SERVER : การ Backup Table ใน Database แบบเอา Data ด้วย

Post by Goborijung at 2022-04-06 06:28:08 | ID: 1448

-- การ Backup Table ใน Database แบบเอา Data ด้วย
1. เลือก Database Name
2. Right Click > Tasks > Generate Script...
3. เลือกหัวข้อ Select specific database objects > เลือก Table Name
4. Click ปุ่ม Advanced > หัวข้อ General เลือกเป็น Types of data to script
5. เปลี่ยนจาก Schema only ให้เป็น Schema and data
6. เลือก Save as script file 
7. เลือก Location Save ตั้งชื่อ FileName.sql
8. Next > Next > รอให้มันสีเขียวทั้งหมด
9. กด Finish เป็นอันเสร็จเรียบร้อยจ้า


SQL SERVER : การทำ Link Server , Linked Server

Post by Goborijung at 2022-03-08 08:40:57 | ID: 1402

https://www.thaicreate.com/community/sqlserver-linked-server.html


หรือ ใช้คำสั่ง Sql เช่น

USE [master]
GO

/****** Object:  LinkedServer [191.20.2.xx]    Script Date: 13/12/2566 10:42:00 ******/
EXEC master.dbo.sp_addlinkedserver @server = N'191.20.2.xx', @srvproduct=N'SQL Server'
 /* For security reasons the linked server remote logins password is changed with ######## */
EXEC master.dbo.sp_addlinkedsrvlogin @rmtsrvname=N'191.20.2.xx',@useself=N'False',@locallogin=NULL,@rmtuser=N'sa',@rmtpassword='5555'
GO

EXEC master.dbo.sp_serveroption @server=N'191.20.2.xx', @optname=N'collation compatible', @optvalue=N'false'
GO

EXEC master.dbo.sp_serveroption @server=N'191.20.2.xx', @optname=N'data access', @optvalue=N'true'
GO

EXEC master.dbo.sp_serveroption @server=N'191.20.2.xx', @optname=N'dist', @optvalue=N'false'
GO

EXEC master.dbo.sp_serveroption @server=N'191.20.2.xx', @optname=N'pub', @optvalue=N'false'
GO

EXEC master.dbo.sp_serveroption @server=N'191.20.2.xx', @optname=N'rpc', @optvalue=N'true'
GO

EXEC master.dbo.sp_serveroption @server=N'191.20.2.xx', @optname=N'rpc out', @optvalue=N'true'
GO

EXEC master.dbo.sp_serveroption @server=N'191.20.2.xx', @optname=N'sub', @optvalue=N'false'
GO

EXEC master.dbo.sp_serveroption @server=N'191.20.2.xx', @optname=N'connect timeout', @optvalue=N'0'
GO

EXEC master.dbo.sp_serveroption @server=N'191.20.2.xx', @optname=N'collation name', @optvalue=null
GO

EXEC master.dbo.sp_serveroption @server=N'191.20.2.xx', @optname=N'lazy schema validation', @optvalue=N'false'
GO

EXEC master.dbo.sp_serveroption @server=N'191.20.2.xx', @optname=N'query timeout', @optvalue=N'0'
GO

EXEC master.dbo.sp_serveroption @server=N'191.20.2.xx', @optname=N'use remote collation', @optvalue=N'true'
GO

EXEC master.dbo.sp_serveroption @server=N'191.20.2.xx', @optname=N'remote proc transaction promotion', @optvalue=N'false'
GO





SQL SERVER : การเขียน Stored Procedure (ตัวอย่าง)

Post by Goborijung at 2022-06-09 11:08:37 | ID: 1590

>> How to Create Stored Procedure

Syntax : 
CREATE PROCEDURE procedure_name
AS
sql_statement
GO;
---------------- Example :
CREATE PROCEDURE SelectAllCustomers
AS
SELECT * FROM Customers
GO;

การใช้งาน : EXEC SelectAllCustomers;
---------------- Stored Procedure With One Parameter :
CREATE PROCEDURE SelectAllCustomers @City nvarchar(30)
AS
SELECT * FROM Customers WHERE City = @City
GO;

การใช้งาน : EXEC SelectAllCustomers @City = 'London';
---------------- Stored Procedure With Multiple Parameters :
CREATE PROCEDURE SelectAllCustomers @City nvarchar(30), @PostalCode nvarchar(10)
AS
SELECT * FROM Customers WHERE City = @City AND PostalCode = @PostalCode
GO;

การใช้งาน : EXEC SelectAllCustomers @City = 'London', @PostalCode = 'WA1 1DP';

SQL SERVER : คำสั่งหา Index , Primary Key , Size Table , Dependency //Recommend

Post by Goborijung at 2023-07-12 09:48:56 | ID: 1949

Declare @tblName varchar(100) = 'PDK1_M_PAOUNDAM'

-- หา Index

exec sp_helpindex @tblName -- หรือ /* select * from sys.indexes where object_id = (select object_id from sys.objects where name = 'PDK1_M_PAOUNDAM') And name is not null */

-- หา Primary Key

exec sp_pkeys @tblName -- หรือ /* SELECT Col.Column_Name from INFORMATION_SCHEMA.TABLE_CONSTRAINTS Tab, INFORMATION_SCHEMA.CONSTRAINT_COLUMN_USAGE Col WHERE Col.Constraint_Name = Tab.Constraint_Name AND Col.Table_Name = Tab.Table_Name AND Tab.Constraint_Type = 'PRIMARY KEY' AND Col.Table_Name = 'PDK1_M_PAOUNDAM' */

-- หา Size Table

EXEC sp_spaceused @tblName

-- หา Dependency

SELECT name,type,type_desc,referenced_server_name,referenced_database_name,referenced_schema_name,referenced_entity_name FROM sys.sql_expression_dependencies A, sys.objects B WHERE referenced_id = OBJECT_ID(@tblName) AND A.referencing_id = B.object_id order by name --หรือ /* select B.name ,B.type, B.type_desc, A.referenced_server_name, A.referenced_database_name ,A.referenced_schema_name ,A.referenced_entity_name from sys.sql_expression_dependencies A inner join sys.objects B ON A.referencing_id = B.object_id Where A.referenced_entity_name = 'PDK1_M_PAOUNDAM' order by B.name */

SQL SERVER : คำสั่งในการสร้าง View , Create View

Post by Goborijung at 2023-12-01 14:30:43 | ID: 1993

CREATE VIEW view_name AS
SELECT column1, column2, ...
FROM table_name
WHERE condition;


SQL SERVER : ดูโครงสร้างตาราง , รายละเอียดตาราง , description , struc

Post by Goborijung at 2024-08-28 15:38:05 | ID: 2017

Declare @tblName varchar(100) = 'tblName'  
Select ROW_NUMBER() over(Order by Column_Name) as No,Column_Name ,case Data_Type when 'datetime' then Data_Type when 'bit' then Data_Type when 'int' then Data_Type when 'text' then Data_Type when 'decimal' then Data_Type+'('+rtrim(cast(NUMERIC_PRECISION as char(5)))+','+rtrim(cast(NUMERIC_SCALE as char(5)))+')' when 'time' then Data_Type+'('+rtrim(cast(SCALE as char(5)))+')' when 'numeric' then Data_Type+'('+rtrim(cast(NUMERIC_PRECISION as char(5)))+','+rtrim(cast(NUMERIC_SCALE as char(5)))+')' else Data_Type+'('+cast(Lengths as varchar(5))+')' end as Data_Type ,cast(Descs as nvarchar(100)) as Descs From 
(    
	 Select name as Column_Name /*,iif(is_nullable = 0 , 'F','T') as is_nullable*/     
	,(Select DATA_TYPE From INFORMATION_SCHEMA.COLUMNS Where TABLE_NAME = @tblName And COLUMN_NAME = sc.name) as Data_Type     
	,(Select CHARACTER_MAXIMUM_LENGTH From INFORMATION_SCHEMA.COLUMNS Where TABLE_NAME = @tblName And COLUMN_NAME = sc.name) as Lengths     
	,(Select NUMERIC_PRECISION From INFORMATION_SCHEMA.COLUMNS Where TABLE_NAME = @tblName And COLUMN_NAME = sc.name) as NUMERIC_PRECISION     
	,(Select NUMERIC_SCALE From INFORMATION_SCHEMA.COLUMNS Where TABLE_NAME = @tblName And COLUMN_NAME = sc.name) as NUMERIC_SCALE     
	,(Select SCALE From INFORMATION_SCHEMA.COLUMNS Where TABLE_NAME = @tblName And COLUMN_NAME = sc.name) as SCALE     
	,(Select value From sys.extended_properties Where major_id = sc.object_id and minor_id = sc.column_id) as Descs     
	From sys.columns sc Where object_id = (Select object_id From sys.tables Where name = @tblName) 
) A Order by Column_Name 



<<<12345678910...>>>

Framework

Library


เครื่องมือพัฒนาเว็บ



การออกแบบและพัฒนาเว็บไซต์


Download SourceCode



copyAllright © 2016 soundmk.com