โจทย์ ผมต้องการสร้างตารางมารองรับ ข้อมูลจากการ select data มาเพื่อประมวลผลต่อ
ตัวอย่าง
สร้างเป็น Table จริง
select * into [New Table] from
[db name].INFORMATION_SCHEMA.COLUMNS
order by TABLE_SCHEMA,TABLE_NAME,COLUMN_NAME
สร้างเป็น Temp Table ซึ่งจะถูกทำลายเมื่อ Connection Session ถูกทำลาย
select * into ##[New Table] from
[db name].INFORMATION_SCHEMA.COLUMNS
order by TABLE_SCHEMA,TABLE_NAME,COLUMN_NAME
อีกตัวอย่างคือ exec dynamic Query into temp table
declare @sql1 varchar(max)
set @sql1 = 'select * into ##pad from [db name].INFORMATION_SCHEMA.COLUMNS
order by TABLE_SCHEMA,TABLE_NAME,COLUMN_NAME'
exec(@sql1)
select * from ##pad
และถ้าสร้าง Global Table ใน Stored Procedure GT จะใช้งานได้เฉพาะ Proc นั้นเท่านั้นและถ้าสั่ง exec ซ้ำก็จะไม่ได้ข้อมูลชุดเดิมออกมา เพราะฉนั้น นำมาทำงานใน Stored Procedure ได้ดี
บันทึกเตือนความจำ แต่หากมีประโยชน์กับผู้ทำงานท่านอื่นๆบ้างก็ยินดีเป็นอย่างยิ่ง
“ขอให้ถือประโยชน์ของเพื่อนมนุษย์ เป็นกิจที่หนึ่ง”
วันพุธที่ 4 กรกฎาคม พ.ศ. 2555
วันจันทร์ที่ 16 มกราคม พ.ศ. 2555
SQL Server : DBCC FREEPROCCACHE DBCC, DROPCLEANBUFFERS
DBCC FREEPROCCACHE ใช้ในการ Clear Procedure Cache เมื่อมีการ run Stored Procedure ใหม่
DBCC DROPCLEANBUFFERS ทำการ Empty data cache แทนการที่จะต้อง Shot Down and boot Server (Cool Reboot). เพราะข้อมูลของ query ก่อนหน้านี้จะถูกเก็บไว้ที่ buffer cache. ทำเพื่อทดสอบ query ว่าได้ผลอย่างไรอย่างแน่นอน ไม่ใช่ผลมาจาก Cache
DBCC DROPCLEANBUFFERS ทำการ Empty data cache แทนการที่จะต้อง Shot Down and boot Server (Cool Reboot). เพราะข้อมูลของ query ก่อนหน้านี้จะถูกเก็บไว้ที่ buffer cache. ทำเพื่อทดสอบ query ว่าได้ผลอย่างไรอย่างแน่นอน ไม่ใช่ผลมาจาก Cache
สมัครสมาชิก:
ความคิดเห็น (Atom)