Cómo hacer para que funcione mi código
Hola Mad, mucho gusto dirigirme a vos, te tengo una pregunta de SQL.
Resulta que quiero quitar todos los espacios innecesarios de todos los campos tipo texto de unas tablas. Hice un código para que me encuentre cuales con todos esos campos y así con ese mismo código sacar el update. El código es el que sigue.
select 'update'+ B.name+' set'+ A.name+'='+'ltrim(rtrim('+A.name+'))' from dbo.syscolumns A, dbo.sysobjects B WHERE A.id= B.id and A.xtype= 161 and B.id in ( select id from sysobjects where name in (nombres de mis tablas separadas por comas))
Pero entonces eso me genera casi 200 lineas de códigos y se me ocurrió que podría funcionar un código equivalente al anterior directo sin ser código generador de otro código, así.
Update B.name set A.name = ltrim(rtrim(A.name)) from dbo.syscolums A, dbo.sysobjects B where lo mismo que el codigo anterior.
Pero lógicamente no me funciona. Pero pienso que podría funcionar de alguna manera. A lo mejor me falta saber algo ... Si me ayudas Mad... Gracias.
Resulta que quiero quitar todos los espacios innecesarios de todos los campos tipo texto de unas tablas. Hice un código para que me encuentre cuales con todos esos campos y así con ese mismo código sacar el update. El código es el que sigue.
select 'update'+ B.name+' set'+ A.name+'='+'ltrim(rtrim('+A.name+'))' from dbo.syscolumns A, dbo.sysobjects B WHERE A.id= B.id and A.xtype= 161 and B.id in ( select id from sysobjects where name in (nombres de mis tablas separadas por comas))
Pero entonces eso me genera casi 200 lineas de códigos y se me ocurrió que podría funcionar un código equivalente al anterior directo sin ser código generador de otro código, así.
Update B.name set A.name = ltrim(rtrim(A.name)) from dbo.syscolums A, dbo.sysobjects B where lo mismo que el codigo anterior.
Pero lógicamente no me funciona. Pero pienso que podría funcionar de alguna manera. A lo mejor me falta saber algo ... Si me ayudas Mad... Gracias.
2 Respuestas
Respuesta de dmoran
1
Respuesta de Jose Mari Madinabeitia