我有一个外部游标和一个内部游标也有两个表可以使用。现在使用外部光标,我在表 1 中创建新列,并用表 2 中的值命名它们,这样就可以了。问题在于我用来将值从另一个表的一个特定列插入到那些新列中的内部游标。这个接缝不起作用,但让我感到困惑的是我没有收到任何错误消息。现在我希望你明白我想要做什么,这里是代码,所以评论更多关于问题的描述:
DECLARE @rbr_param nvarchar(255)
DECLARE @vrednost nvarchar(255)
DECLARE @cName nvarchar(255)
DECLARE @sql nvarchar (255)
DECLARE curs CURSOR FOR SELECT DISTINCT rbr_param FROM dbo.parametri_pomocna ORDER BY rbr_param
OPEN curs
FETCH NEXT FROM curs
INTO @rbr_param
WHILE @@FETCH_STATUS = 0
BEGIN
SET @cName = 'P_'+@rbr_param+'_P'
EXEC('ALTER TABLE dbo.Parametri ADD ' + @cName + ' nvarchar(255)')
DECLARE vrd CURSOR FOR SELECT DISTINCT vrednost FROM dbo.parametri_pomocna
OPEN vrd
FETCH NEXT FROM vrd
INTO @vrednost
WHILE @@FETCH_STATUS = 0
BEGIN
SET @sql = 'INSERT INTO dbo.Parametri'+(@cName)+ ' SELECT vrednost FROM dbo.parametri_pomocna WHERE vrednost = '+@vrednost+ ' AND rbr_param = '+@rbr_param
if exists (select * from INFORMATION_SCHEMA.COLUMNS where table_name = 'dbo.Parametri' and column_name = '@cName')
begin
exec(@sql)
end
FETCH NEXT FROM vrd
INTO @vrednost
END --end vrd
CLOSE vrd
DEALLOCATE vrd
FETCH NEXT FROM curs
INTO @rbr_param
END
CLOSE curs
DEALLOCATE curs