SQL Server System Stored Procedure : สอน คำสั่ง ของ System Stored Procedure, เรียน คำสั่ง ของ System Stored Procedure
 

Reference

Reference ในเว็บไซต์ Function.in.th เป็นการนำเสนอความรู้ในรูปแบบของแหล่งอ้างอิงของคำสั่งต่าง ๆ ที่ใช้ในการเขียนโปรแกรม โดยผู้ที่สนใจสามารถเข้ามาเรียนรู้การใช้งานคำสั่งของการเขียนโปรแกรมเหล่านี้ได้ ผ่านทาง URL code.function.in.th ทั้งนี้ผู้อ่านยังสามารถร่วมแสดงความคิดเห็นบนเนื้อหาที่มีสอนได้ ซึ่งถือเป็นการส่งเสริมให้มีการแลกเปลี่ยนประสบการณ์และความรู้ระหว่างผู้อ่านด้วยกันเอง
  • sp_helpdb ดูรายละเอียดของ ฐานข้อมูล
    sp_dboption กำหนด option ให้กับ ฐานข้อมูล
    sp_renamedb ใช้ในการเปลี่ยนชื่อ database
    sp_detach_db ใช้ในการ ถอดถอน ฐานข้อมูลออกจากระบบ
    sp_attach_db ใช้ในการ เน้าเข้า ฐานข้อมูลสู่ระบบ
    sp_helpfilegroup ใช้ตรวจดูรายละเอียดของ filegroup ที่กำหนด
    sp_helpfile ใช้ตรวจดูรายละเอียดของ file ที่กำหนด
    sp_rename ใช้ในการเปลี่ยนชื่อ object ต่างๆ
    sp_addtype ใช้สร้างประเภทของข้อมูลขึ้นมาเอง เพื่อลดความซ้ำซาก จะได้ไปประกาศที่เดียวเลย ในเมื่อใช้เหมือนกัน
    sp_droptype ใช้ในการลบประเภทของข้อมูลที่เราสร้างขึ้นมา
    sp_binddefault ใช้ในการนำค่า default ไปผูกกับ column ใน table
    sp_unbinddefault ใช้ในการยกเลิก การผูกค่า default ของ column ใน table
    sp_bindrule ใช้ในการนำเงื่อนไขของข้อมูล ( rule ) ไปผูกกับ column ใน table
    sp_unbindrule ใช้ในการยกเลิก การผูกค่า rule ของ column ใน table
    sp_help IDENT_SEED ใช้ในการดูค่า seed ของ table ที่กำหนด
    sp_help IDENT_INCR ใช้ในการดูค่า increment ของ table ที่กำหนด
    sp_help ใช้ในการตรวจดูว่ามี object ใด ใน table ที่กำหนดบ้าง
    sp_helpconstraint ใช้ในการตรวจดูว่ามี constraint ใด ใน table ที่กำหนดบ้าง
    sp_depends ใช้ดูรายละเอียดของ view ที่สร้างขึ้น
    sp_helpTriggers ใช้ตรวจสอบว่ามีการสร้าง Trigger อะไรให้กับ Table ที่กำหนดบ้าง
    sp_setTriggersorder ใช้จัดลำดับการทำงานให้กับ Triggers แบบ FOR TRIGGERS หรือ AFTER TRIGGERS
  • subject :
    sp_helpdb

    syntax :
    sp_helpdb [ [ @dbname= ] "db_name" ]

    content :
    ใช้ดูรายละเอียดของ ฐานข้อมูล ที่กำหนด

    example :
    exec sp_helpdb "function_in_th"

  • subject :
    sp_dboption 

    syntax :
    sp_dboption [ [ @dbname= ] "db_name" [, [ @optname= ] "opt_name" [, [ @optvalue= ] "value" ] ] ]

    content :
    ใช้กำหนด option ให้กับ ฐานข้อมูล
    โดย option มีดังต่อไปนี้
    "dbo use only" ใช้กำหนดว่าให้สมาชิกในกลุ่ม db_owner, dbcreator, sysadmin เข้าถึงได้ เท่านั้น ใช่หรือไม่
    "single user" ใช้กำหนดว่า การเข้าถึง ฐานข้อมูล สามารถใช้ได้ครั้งละคน ใช่หรือไม่
    "read only" ใช้กำหนดว่า ฐานข้อมูล นี้มีเพื่ออ่านอย่างเดียว ใช่หรือไม่
    "ANSI null default" ใช้กำหนดว่า field ในแต่ละตารางที่สร้างขึ้นของฐานข้อมูลมีค่า default เป็น null เสมอ ใช่หรือไม่
    "torn page detection" ใช้กำหนดว่า เมื่อการเขียนข้อมูลมีความเสียหาไม่ครบถ้วน จะให้เกิด corrupt ใช่หรือไม่
    "autoclose" ใช้กำหนดว่า ให้ปิดฐานข้อมูล เมื่อไม่มีการใช้งาน ใช่หรือไม่ ( ทำให้ประหยัด resource ได้ )
    "autoshrink" ใช้กำหนดว่า จะใช้ auto ในเรื่องของการลดขนาดของ database เมื่อเนื้อที่ไม่ถูกใช้งานกว่า 25% ใช่หรือไม่
    "auto create statistics" ใช้กำหนดว่าให้มีการทำสถิติ ในแต่ละ field ข้อมูล ซึ่งเกิดขึ้นในขณะที่มีการปรับปรุงประสิทธิภาพ query ใช่หรือไม่
    "auto update statistics" ใช้กำหนดว่าให้มีการ update การทำสถิติ ในแต่ละ field ข้อมูล ซึ่งเกิดขึ้นในขณะที่มีการปรับปรุงประสิทธิภาพ query ใช่หรือไม่
    "quoted identifier" ใช้กำหนดว่า ต้องมีการใช้เครื่องหมาย Double Quote ในการอ้างชื่อ object ต่างๆ เช่น ชื่อฟิลด์, ชื่อตาราง, คำสงวน ใช่หรือไม่
    "default to local cursor" ใช้กำหนดว่า ต้องการให้ค่าปริยายของ Cursor เป็นแบบ local ใช่หรือไม่

    example :
    exec sp_dboption "function_in_th", "read only", "false"

  • subject :
    sp_renamedb 

    syntax :
    sp_renamedb [ @old_name= ] "old_name", [ @new_name= ] "new_name"

    content :
    ใช้ในการเปลี่ยนชื่อ database 
    โดยผู้มีสิทธิในการใช้คำสั่งนี้จะต้องเป็นสมาชิกของ sysadmin เท่านั้น
    และ สถานะของ database ที่ต้องการเปลี่ยนชื่อนี้ต้องเป็นสถานะ single user เท่านั้น 

    example :
    exec sp_dboption "function_in_th", "single user", "true"
    exec sp_renamedb "function_in_th", "super_function_in_th"
    exec sp_dboption "super_function_in_th", "single user", "false"

  • subject :
    sp_detach_db 

    syntax :
    sp_detach_db [ @dbname= ] "db_name" [, [ @skipchecks= ] "skipchecks" ]

    content :
    ใช้ในการ ถอดถอน ฐานข้อมูลออกจากระบบ
    โดยจะถอดถอนเพราะว่า ก่อนการคัดลอก หรือเคลื่อนย้ายฐานข้อมูล
    ต้องมีการ ถอดถอน ฐานข้อมูลออกจากระบบก่อนเสมอ

    example :
    exec sp_detach_db "function_in_th", true

  • subject :
    sp_attach_db 

    syntax :
    sp_attach_db [ @dbname= ] "db_name", [ @filename1= ] "filename_1", [ @filename2= ] "filename_2"

    content :
    ใช้ในการ เน้าเข้า ฐานข้อมูลสู่ระบบ
    โดยสามารถทำได้หลายๆไฟล์พร้อมกัน แต่จะไม่เกิน 16 ไฟล์

    example :
    exec sp_attach_db "function_in_th", "C:\db\old_function.mdf", "C:\db\old_function.ldf"

  • subject :
    sp_helpfilegroup 

    syntax :
    sp_helpfilegroup [ [ @filegroupname= ] "name" ]

    content :
    ใช้ตรวจดูรายละเอียดของ filegroup ที่กำหนด

    example :
    exec sp_helpfilegroup "php_group"

  • subject :
    sp_helpfile

    syntax :
    sp_helpfile [ [@filename= ] "name" ]

    content :
    ใช้ตรวจดูรายละเอียดของ file ที่กำหนด

    example :
    exec sp_helpfile

  • subject :
    sp_rename 

    syntax :
    sp_rename [ @objname= ] "object_name", [ @newname= ] "new_name" [, [ @objtype= ] "object_type" ]

    content :
    ใช้ในการเปลี่ยนชื่อ object ต่างๆ
    โดย object_name คือชื่อของ object ที่จะถูกเปลี่ยน
    โดย new_name คือชื่อใหม่ของ object นั้นๆ
    โดย object_type คือ ประเภทของ object เช่น COLUMN, INDEX, USERDATATYPE, VIEW, RULE, STOREPROCEDURE

    example :
    exec sp_rename "store_nutt", "store_queue", STOREPROCEDURE

  • subject :
    sp_addtype 

    syntax :
    sp_addtype [ @typename= ] typename, [ @phystype= ] system_data_type [, [ @nulltype= ] "null_type" ] [, [ @owner= ] "owner_name" ]

    content :
    ใช้สร้างประเภทของข้อมูลขึ้นมาเอง เพื่อลดความซ้ำซาก จะได้ไปประกาศที่เดียวเลย ในเมื่อใช้เหมือนกัน

    example :
    exec sp_addtype budget, "decimal(9,2)", "null"
    CREATE TABLE tbl_orders
    (
    	id int IDENTITY NOT NULL,
    	budget_january budget NOT NULL,
    	budget_feburary budget NOT NULL,
    )

  • subject :
    sp_droptype 

    syntax :
    sp_droptype [ @typename= ] typename

    content :
    ใช้ในการลบประเภทของข้อมูลที่เราสร้างขึ้นมา

    example :
    exec sp_addtype budget, "decimal(9,2)", "null"
    exec sp_droptype budget

  • subject :
    sp_binddefault 

    syntax :
    sp_binddefault default_name, object_name [, futureonly ]

    content :
    ใช้ในการนำค่า default ไปผูกกับ column ใน table

    example :
    CREATE DEFAULT def_www AS "www.function.in.th"
    CREATE TABLE tbl_website
    (
    	id int IDENTITY NOT NULL,
    	name varchar(50) NOT NULL
    )
    exec sp_binddefault def_www, "tbl_website.name"

  • subject :
    sp_unbinddefault 

    syntax :
    sp_unbinddefault object_name [, futureonly ]

    content :
    ใช้ในการยกเลิก การผูกค่า default ของ column ใน table

    example :
    CREATE DEFAULT def_www AS "www.function.in.th"
    CREATE TABLE tbl_website
    (
    	id int IDENTITY NOT NULL,
    	name varchar(50) NOT NULL
    )
    exec sp_binddefault def_www, "tbl_website.name"
    exec sp_unbinddefault "tbl_website.name"

  • subject :
    sp_bindrule 

    syntax :
    sp_bindrule rule_name, object_name [, futureonly ]

    content :
    ใช้ในการนำเงื่อนไขของข้อมูล ( rule ) ไปผูกกับ column ใน table

    example :
    CREATE RULE rule_money
    AS @money > 500
    
    CREATE TABLE tbl_orders
    (
    	id int IDENTITY NOT NULL,
    	price money NOT NULL
    )
    exec sp_bindrule rule_money, "tbl_orders.price"

  • subject :
    sp_unbindrule 

    syntax :
    sp_unbindrule object_name [, futureonly ]

    content :
    ใช้ในการยกเลิก การผูกค่า rule ของ column ใน table

    example :
    CREATE RULE rule_money
    AS @money > 500
    
    CREATE TABLE tbl_orders
    (
    	id int IDENTITY NOT NULL,
    	price money NOT NULL
    )
    exec sp_bindrule rule_money, "tbl_orders.price"
    exec sp_unbindrule "tbl_orders.price"

  • subject :
    sp_help IDENT_SEED

    syntax :
    sp_help IDENT_SEED ( tbl_name )

    content :
    ใช้ในการดูค่า seed ของ table ที่กำหนด

    example :
    CREATE TABLE tbl_orders
    (
    	id int IDENTITY(100, 10) NOT NULL,
    	price money NOT NULL
    )
    exec sp_help IDENT_SEED ( "tbl_orders" )

  • subject :
    sp_help IDENT_INCR

    syntax :
    sp_help IDENT_INCR ( tbl_name )

    content :
    ใช้ในการดูค่า increment ของ table ที่กำหนด

    example :
    CREATE TABLE tbl_orders
    (
    	id int IDENTITY(100, 10) NOT NULL,
    	price money NOT NULL
    )
    exec sp_help IDENT_INCR ( "tbl_orders" )

  • subject :
    sp_help 

    syntax :
    sp_help tbl_name

    content :
    ใช้ในการตรวจดูว่ามี object ใด ใน table ที่กำหนดบ้าง

    example :
    CREATE TABLE tbl_orders
    (
    	id int IDENTITY NOT NULL,
    	price money NOT NULL
    )
    exec sp_help "tbl_orders"

  • subject :
    sp_helpconstraint 

    syntax :
    sp_helpconstraint tbl_name

    content :
    ใช้ในการตรวจดูว่ามี constraint ใด ใน table ที่กำหนดบ้าง

    example :
    CREATE TABLE tbl_orders
    (
    	id int IDENTITY NOT NULL,
    	price money NOT NULL
    )
    exec sp_helpconstraint "tbl_orders"

  • subject :
    sp_depends 

    syntax :
    sp_depends view_name

    content :
    ใช้ดูรายละเอียดของ view ที่สร้างขึ้น

    example :
    exec sp_depends view_stock;

  • subject :
    sp_helpTriggers 

    syntax :
    sp_helpTriggers table_name

    content :
    ใช้ตรวจสอบว่ามีการสร้าง Trigger อะไรให้กับ Table ที่กำหนดบ้าง

    example :
    CREATE TABLE tbl_orders
    (
    	id int IDENTITY NOT NULL,
    	price money NOT NULL
    )
    GO
    CREATE TRIGGERS trg_orders
    ON orders
    FOR INSERT, UPDATE
    AS
    	PRINT "Occurs Modify Data In Orders Table."
    GO
    exec sp_helpTriggers tbl_orders

  • subject :
    sp_setTriggersorder 

    syntax :
    sp_setTriggersorder [ @Triggersname= ] "triggers_name", [ @order= ] { "first" | "last" | "none" }, [ @stmttype= ] "statement_type"

    content :
    ใช้จัดลำดับการทำงานให้กับ Triggers แบบ FOR TRIGGERS หรือ AFTER TRIGGERS
    โดยสามารถจัดลำดับได้เฉพาะ first หรือ last เท่านั้น

    example :
    CREATE TABLE tbl_orders
    (
    	id int IDENTITY NOT NULL,
    	price money NOT NULL
    )
    GO
    CREATE TRIGGERS trg_orders_1
    ON orders
    FOR INSERT, UPDATE
    AS
    	PRINT "Occurs Modify Data In Orders Table 1."
    GO
    CREATE TRIGGERS trg_orders_2
    ON orders
    FOR INSERT, UPDATE
    AS
    	PRINT "Occurs Modify Data In Orders Table 2."
    GO
    exec sp_setTriggersorder "trg_orders_1", "last"
    exec sp_setTriggersorder "trg_orders_2", "first"
    GO

 
Share This Chapter Login with Facebook