transact-sql

04/03/2004 - 17:25 por ew | Informe spam
Soy nuevo en esto de programar stored procedures en sql y
tengo algunas dudas pero principalmente esta: por lo que
estuve leyendo en la ayuda, yo puedo hacer un select y
asignarlo a una variable tipo cursor (lo que vb sería un
recordset) y moverme con el fetch, ahora mi pregunta es :
desde dicha variable puedo insertar registros a una tabla,
osea lo que en vb sería algo asi
rs.addnew
rs!codigo=1
rs!nombre=Jose
rs.update
por poner un ejemplo, o la única forma de añadir registros
a una tabla con transact-sql es con INSERT INTO, bueno,
cualquier sugerencia sería de ayuda para mi...

saludos,
ew

Preguntas similare

Leer las respuestas

#1 ulises
04/03/2004 - 17:34 | Informe spam
No, necesariamente tienes que usar INSERT; pero es una
mala idea usar un cursor en forma similar a como lo haces
en VB, su manejo dentro de T-SQL es lento e ineficiente es
recomendable usar sentencias SQL para realizar
actualizaciones o inserciones por bloques de registros.

Saludos,
Ulises

Soy nuevo en esto de programar stored procedures en sql y
tengo algunas dudas pero principalmente esta: por lo que
estuve leyendo en la ayuda, yo puedo hacer un select y
asignarlo a una variable tipo cursor (lo que vb sería un
recordset) y moverme con el fetch, ahora mi pregunta es :
desde dicha variable puedo insertar registros a una


tabla,
osea lo que en vb sería algo asi
rs.addnew
rs!codigo=1
rs!nombre=Jose
rs.update
por poner un ejemplo, o la única forma de añadir


registros
a una tabla con transact-sql es con INSERT INTO, bueno,
cualquier sugerencia sería de ayuda para mi...

saludos,
ew

.

Respuesta Responder a este mensaje
#2 Javier Loria
04/03/2004 - 17:48 | Informe spam
Hola:
Que puedas hacerlo, no signfica que "quieras" hacerlo. Si estas
aprendiendo a programar SQL olvidate del todo de los cursores (mucho mas
adelante tendras tiempo para aprenderlos). En SQL podrias escribir algo
como:
=INSERT INTO Tabla2(Columna1, ... ColumnaX)
SELECT Column1,., ColumnaX
FROM Tabla1
WHERE <Condicion>
== Que toma los datos de la Tabla1 que cumplen alguna condicion, y le
agrega otros datos y el resultado lo Inserta en la Tabla2.
Saludos,


Javier Loria
Costa Rica
Se aprecia la inclusion de DDL (CREATE, INSERTS, etc.)
que pueda ser copiado y pegado al Query Analizer.
La version de SQL y Service Pack tambien ayuda.
ew escribio:
Soy nuevo en esto de programar stored procedures en sql y
tengo algunas dudas pero principalmente esta: por lo que
estuve leyendo en la ayuda, yo puedo hacer un select y
asignarlo a una variable tipo cursor (lo que vb sería un
recordset) y moverme con el fetch, ahora mi pregunta es :
desde dicha variable puedo insertar registros a una tabla,
osea lo que en vb sería algo asi
rs.addnew
rs!codigo=1
rs!nombre=Jose
rs.update
por poner un ejemplo, o la única forma de añadir registros
a una tabla con transact-sql es con INSERT INTO, bueno,
cualquier sugerencia sería de ayuda para mi...

saludos,
ew
Respuesta Responder a este mensaje
#3 Adrian D. Garcia
04/03/2004 - 17:57 | Informe spam
Esto es la "Brigada Anti-Cursores" en accion, como vi en la firma de Miguel
Eguea.!!!!!

Saludos

Adrian D. Garcia
NDSoft
MCSD
"Javier Loria" escribió en el mensaje
news:
Hola:
Que puedas hacerlo, no signfica que "quieras" hacerlo. Si estas
aprendiendo a programar SQL olvidate del todo de los cursores (mucho mas
adelante tendras tiempo para aprenderlos). En SQL podrias escribir algo
como:
=> INSERT INTO Tabla2(Columna1, ... ColumnaX)
SELECT Column1,., ColumnaX
FROM Tabla1
WHERE <Condicion>
==> Que toma los datos de la Tabla1 que cumplen alguna condicion, y le
agrega otros datos y el resultado lo Inserta en la Tabla2.
Saludos,


Javier Loria
Costa Rica
Se aprecia la inclusion de DDL (CREATE, INSERTS, etc.)
que pueda ser copiado y pegado al Query Analizer.
La version de SQL y Service Pack tambien ayuda.
ew escribio:
> Soy nuevo en esto de programar stored procedures en sql y
> tengo algunas dudas pero principalmente esta: por lo que
> estuve leyendo en la ayuda, yo puedo hacer un select y
> asignarlo a una variable tipo cursor (lo que vb sería un
> recordset) y moverme con el fetch, ahora mi pregunta es :
> desde dicha variable puedo insertar registros a una tabla,
> osea lo que en vb sería algo asi
> rs.addnew
> rs!codigo=1
> rs!nombre=Jose
> rs.update
> por poner un ejemplo, o la única forma de añadir registros
> a una tabla con transact-sql es con INSERT INTO, bueno,
> cualquier sugerencia sería de ayuda para mi...
>
> saludos,
> ew


Respuesta Responder a este mensaje
#4 Maximiliano D. A.
04/03/2004 - 19:04 | Informe spam
Amigo!! el uso de los cursores es muy malo para la performace, aca todos
somos bridaga anti cursores pero creo que las cosas hay que demostralas !!

Proba esto:

Armate una Tabla con 10.000 registros (un bucle te puede ayudar)

1) borra con Delete From tutabla
2) borra todos los registros con un cursor.

Fijate cuanto tarda uno y otro ;-) ahi veras bien porque no es bueno usarlos

Bye


Salu2
Maxi
Buenos Aires Argentina
Desarrollador Microsoft 3 Estrellas .NET
[Maxi_accotto[arroba]speedy[punto]com[punto]ar
MSN:


"ew" escribió en el mensaje
news:6e9701c40205$58442710$
Soy nuevo en esto de programar stored procedures en sql y
tengo algunas dudas pero principalmente esta: por lo que
estuve leyendo en la ayuda, yo puedo hacer un select y
asignarlo a una variable tipo cursor (lo que vb sería un
recordset) y moverme con el fetch, ahora mi pregunta es :
desde dicha variable puedo insertar registros a una tabla,
osea lo que en vb sería algo asi
rs.addnew
rs!codigo=1
rs!nombre=Jose
rs.update
por poner un ejemplo, o la única forma de añadir registros
a una tabla con transact-sql es con INSERT INTO, bueno,
cualquier sugerencia sería de ayuda para mi...

saludos,
ew




Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.593 / Virus Database: 376 - Release Date: 20/02/2004
Respuesta Responder a este mensaje
#5 EW
04/03/2004 - 21:14 | Informe spam
de la respuestas de todos uds. me nace una duda para
crear una consulta, el resultado de la cual voy a pasar a
mi aplicación front end, de ley tengo que utilizar un
cursor...para ir leyendo registro por registroporque
creo que es la única manera de hacerlo, o estoy
equivocado...??

ahora,
1) cómo paso el resultado de esta consulta a mi aplicación
tendría que crear n variables tipo output ?? e irlas
pasando cada vez que lea un registro
o

2) sería mejor (solo para el caso de consultas) hacer el
select desde vb y llenar un recordset de vb, en vez de
almacenar el select en un stored procedureporque igual
el conjunto de resultados va a viajar por la red...verdad?

de antemano agradezco sus valiosas ideas

saludos,
ew


Soy nuevo en esto de programar stored procedures en sql y
tengo algunas dudas pero principalmente esta: por lo que
estuve leyendo en la ayuda, yo puedo hacer un select y
asignarlo a una variable tipo cursor (lo que vb sería un
recordset) y moverme con el fetch, ahora mi pregunta es :
desde dicha variable puedo insertar registros a una


tabla,
osea lo que en vb sería algo asi
rs.addnew
rs!codigo=1
rs!nombre=Jose
rs.update
por poner un ejemplo, o la única forma de añadir


registros
a una tabla con transact-sql es con INSERT INTO, bueno,
cualquier sugerencia sería de ayuda para mi...

saludos,
ew

.

Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida