Foros del Web

Foros del Web (http://www.forosdelweb.com/)
-   ASP Clásico (http://www.forosdelweb.com/f15/)
-   -   Copiar campo SQL a otro dentro de la misma DB (http://www.forosdelweb.com/f15/copiar-campo-sql-otro-dentro-misma-db-160059/)

ashketchum 20/10/2003 10:37

Copiar campo SQL a otro dentro de la misma DB
 
Hola a todos, alguien sabe como copiar un campo de una base de datos SQL a otro, o sea, supongamos que tenemos un campo "CAMPO1" y quiero que la misma info se mueva a otro campo "CAMPO2" dentro de la misma DB y dentro de la misma tabla, algo asi como Duplicar campos, espero me puedan ayudar pues me urge....

saludos a todos y de antemano muchas gracias

ashketchum

AlZuwaga 20/10/2003 11:29

abrís un recordset como siempre y luego, usando la misma conexión y suponiendo que tengas un campo identificador llamado ID...


do while not rs.eof
SQL = "UPDATE tabla SET CampoDuplicado = CampoOriginal WHERE ID = " & rs("ID")
objConn.Execute(SQL)
rs.MoveNext
Loop



(es a manera de ejemplo... no veriifiqué sintaxis ni nada)

ashketchum 20/10/2003 12:07

Gracias Dazuaga, intente hacerlo pero me manda este error:

ADODB.Recordset error '800a0e78'

La operación no está permitida si el objeto está cerrado.

/alpha/variosash/copiacampo.asp, línea 8


espero me puedas ayudar...

saludos!!!

AlZuwaga 20/10/2003 12:16

bueno... pero no te olvides que fue sólo un ejemplo. para ayudarte en base a lo que te pasé de ejemplo necesito ver tu código completo

ashketchum 20/10/2003 12:25

Mira de hecho mi código es el siguiente y lo que quiero hacer es copiar de una columna a otra dentro de la misma tabla, o sea, creo que es sencillo, pero como son muchos registros quiero ver si hay algo más fácil para no copiar de uno en uno este es el código:


<%@LANGUAGE="VBSCRIPT"%>
<%
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "driver={SQL Server};server=xxxx;uid=xxx;pwd=xxx;database=xxx"
set rs = Server.CreateObject("ADODB.Recordset")
rs.Open
%>
<%
SQL = "Update Escolaridad Set SoftwareTest = SoftWareHardwareSO Where IDNumeroCurriculum = " & rs("IDNumeroCurriculum")
Do while not rs.EOF
Conn.Execute(SQL)
rs.MoveNext
Loop
%>


Gracias y saludos!!!!

AlZuwaga 20/10/2003 13:07

La SQL va dentro del DO


Do while not rs.EOF
SQL = "Update Escolaridad Set SoftwareTest = SoftWareHardwareSO Where IDNumeroCurriculum = " & rs("IDNumeroCurriculum")
Conn.Execute(SQL)
rs.MoveNext
Loop

AlZuwaga 20/10/2003 13:11

ahh.. además falta algo. no estás ejecutando nada en el recordset... el código debería quedar más o menos así:


<%@LANGUAGE="VBSCRIPT"%>
<%
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "driver={SQL Server};server=xxxx;uid=xxx;pwd=xxx;database=xxx"
set rs = Server.CreateObject("ADODB.Recordset")
SQLtmp = "SELECT IDNumeroCurriculum FROM Escolaridad"
rs.Open SQL, Conn '### o similar... no me acuerdo de memoria
%>
<%
Do while not rs.EOF
SQL = "Update Escolaridad Set SoftwareTest = SoftWareHardwareSO Where IDNumeroCurriculum = " & rs("IDNumeroCurriculum")
Conn.Execute(SQL)
rs.MoveNext
Loop
%>

ashketchum 20/10/2003 17:16

Muchas gracias Dazuaga por toda la ayuda, pero fijate que me sigue mandando un error es este:


ADODB.Recordset error '800a0cc1'

No se encontró el elemento en la colección que corresponde con el nombre o el ordinal pedido.

/alpha/variosash/copiacampo.asp, línea 11


y no se porque...

de antemano muchas gracias por la ayuda.

saludos y suerte

ashketchum

ashketchum 20/10/2003 17:21

ya se porque tronaba, era porque habia olvidado incluir el campo IDNumeroCurriculum en el Select, y aunque lo puse ahora me sale este error:


Microsoft OLE DB Provider for ODBC Drivers error '80040e07'

[Microsoft][ODBC SQL Server Driver][SQL Server]Disallowed implicit conversion from data type ntext to data type varchar, table 'ModeloEspana.dbo.Escolaridad', column 'SoftwareTest'. Use the CONVERT function to run this query.

/alpha/variosash/copiacampo.asp, línea 12


ahora le dare un poco al google y vere que hay sobre la función CONVERT

saludos y suerte

ashketchum

AlZuwaga 20/10/2003 17:45

porque parece que SoftwareTest no tiene el mismo tipo de datos que SoftWareHardwareSO

al menos eso es lo que entiendo del mensaje de error.

ashketchum 20/10/2003 17:48

Si, de hecho el problema es que el primer campo es de tipo NTEXT y lo quiero a VARCHAR porque el NTEXT me esta dando mucha lata en mi busqueda, pero a ver si se puede...

saludos y suerte

ashketchum

bailamj 07/05/2008 03:27

Re: Copiar campo SQL a otro dentro de la misma DB
 
y si fueran diferentes tablas?

quiero copiar un campo de una tabla, a otro campo de otra tabla, .... :)

Myakire 09/05/2008 10:03

Re: Copiar campo SQL a otro dentro de la misma DB
 
Este post tiene 5 años de abandonado, inicia un nuevo post con una duda nueva


La zona horaria es GMT -6. Ahora son las 01:04.

Desarrollado por vBulletin® Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.