【发布时间】:2018-05-10 15:32:46
【问题描述】:
以前,我在 sql 编程方面还很陌生。我正在尝试编写一个脚本,从表中读取行并将这些值(和另一个默认值)插入另一个表中。
就我而言,这是我最好的拍摄... :(
declare @pk_tercero_contacto int, @tercero_id int, @login nvarchar(200), @defecto bit,
@descripcion nvarchar(200), @notificaciones bit, @tercero_usuario1 cursor
select @pk_tercero_contacto = max(t.tercero_id) from TD_TERCERO_CONTACTO t
set @pk_tercero_contacto = (@pk_tercero_contacto + 1)
declare tercero_usuario cursor FOR select t.LOGIN, t.TERCERO_ID, t.DEFECTO,
t.DESCRIPCION, t.NOTIFICACIONES from TD_TERCERO_USUARIO t
OPEN @tercero_usuario
FETCH NEXT FROM tercero_usuario
WHILE @@FETCH_STATUS = 0
BEGIN
select @tercero_id = t.tercero_id, @login = t.login, @defecto = t.defecto,
@descripcion = t.descripcion, @notificaciones = t.notificaciones from
@tercero_usuario t FETCH NEXT FROM tercero_usuario into @tercero_usuario1
insert into TD_TERCERO_CONTACTO values(@pk_tercero_contacto, @login, null, null,
@descripcion, @notificaciones, @tercero_id, null, null, null, @defecto)
set @pk_tercero_contacto = @pk_tercero_contacto + 1
END
CLOSE tercero_usuario;
DEALLOCATE tercero_usuario;
GO
这个想法是恢复第一个表(5 列)中的所有文件,然后恢复每行的五列,并将这些值和默认值插入到第二个表中......
我不能让它工作
谢谢小伙伴们。
【问题讨论】:
-
您在循环中丢失了一次提取
-
@paparazzo。它位于循环内的第一个选择中。
-
您可能想要进行格式化
-
@paparazzo。好的...
标签: sql tsql sql-server-2014