sin cursor
Publicado por Karla (1 intervención) el 14/09/2013 05:45:58
Hola, alguien sabe como puedo hacer lo mismo que el cursor, pero sin cursores.
Esto es lo que hace el cursor de arriba: crea "N" tablas de acuerdo a los campos de Department.DepartmentID
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
declare @DepartmentID int,
@sql nvarchar(1000),
@paramDefinition nvarchar(255),
@paramValue char(3)
DECLARE Cursor1 CURSOR FOR
select distinct DepartmentID
from Department
OPEN Cursor1
FETCH NEXT FROM Cursor1
INTO @DepartmentID
WHILE @@FETCH_STATUS = 0
BEGIN
SET @sql = 'SELECT A.Title,A.Credits,B.Budget,B.StartDate, B.DepartmentID, B.name INTO ##TABLADeparment' + CAST(@DepartmentID AS VARCHAR(2))
+ ' FROM Course A, Department B '
+ 'WHERE A.DepartmentID = B.DepartmentID AND A.DepartmentID = CAST(' + CAST(@DepartmentID AS VARCHAR(2)) + ' AS INT)'
EXEC sp_executesql @sql
FETCH NEXT FROM Cursor1
INTO @DepartmentID
END
CLOSE Cursor1
DEALLOCATE Cursor1
Esto es lo que hace el cursor de arriba: crea "N" tablas de acuerdo a los campos de Department.DepartmentID
Valora esta pregunta


0