我想創建一個動態過程,它將自動爲我生成列,但有些事情是錯誤的。我必須在我的程序中多次執行此操作,而且我不想手動執行此操作。動態添加循環的列
所以這就是我
DELIMITER $$
DROP PROCEDURE IF EXISTS RepeatLoopProc$$
CREATE PROCEDURE RepeatLoopProc()
BEGIN
DECLARE x INT;
DECLARE str VARCHAR(255);
Declare @sql nvarchar(4000);
SET x = 0;
REPEAT
SET str = '';
SET str = CONCAT(str,'ossz_levon_het_',x);
SET x = x + 1;
set @sql='ALTER TABLE telephelyi_teszt ADD '+ str +'DOUBLE NULL';
execute @sql;
UNTIL x > 50
END REPEAT;
END$$
DELIMITER ;
我得靠近Declare @sql nvarchar(4000);
線的任何想法語法錯誤之前使用的代碼?
在@sql中缺少'和double之間的空格。 – DaImTo
我修正了它,但在@sql聲明附近的第7行有相同的錯誤 – balage90
這是什麼類型的項目,你必須在表中創建動態字段?你應該改善你的規範化,這樣就不會發生。 –