Cursor ללא Cursor

יום שבת, ספטמבר 11, 2010

השימוש ב-Cursor הוא דרך המלך למשימות שלא ניתן לבצע בכלים הסטנדרטיים של SQL, למשל – כפי שיודגם להלן – גיבוי כל הדטבייסים בשרת שאינם System Databases. הפתרון הסטנדרטי בעזרת Cursor הוא כזה: Declare @S Varchar(Max), @SQL Varchar(Max); Declare Cr Cursor For Select name From sys.databases Where name Not In ('master','tempdb','model','msdb'); Open Cr; Fetch Cr Into @S; While @@Fetch_Status = 0 Begin Set @SQL='Backup Database '+@S+' To Disk = ''C:\Tmp\'+@S+'.bak'';'; Print @SQL; Exec(@SQL); Fetch Cr Into @S; End Close...
אין תגובות