亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

無法在過程循環中正確聲明變量

無法在過程循環中正確聲明變量

寶慕林4294392 2021-04-06 17:26:49
這在驅趕我香蕉。無論如何,我不是mysql專家。我的目標是向表中添加大量列。我已經嘗試了幾種方法,并且在DECLARE @FooA NVARCHAR(MAX);上使過程阻塞了。不知道為什么。我感謝任何指示...USE mydatabase;DELIMITER $$DROP PROCEDURE IF EXISTS RepeatLoopProc$$CREATE PROCEDURE RepeatLoopProc()BEGIN   DECLARE x INT;   DECLARE sn VARCHAR(30);   DECLARE dr VARCHAR(48);   DECLARE @FooA NVARCHAR(MAX);   SET x = 0;   WHILE (x <= 150) DO     SET sn = CONCAT('drivesn_', x);     SET dr = CONCAT('driveinf_', x);     SET x = x + 1;     SET @FooA = 'ALTER TABLE DRIVE_MASTER ADD ' + sn + ' VARCHAR(30), ADD ' + dr + ' VARCHAR(48)';     EXEC sp_executesql @FooA;   END WHILE;END$$DELIMITER ;當我這樣做時,我得到:ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '@FooA NVARCHAR(MAX);我的前額從撞到我的桌子上變得扁平了。最終目標是將驅動器n_0,驅動器inf_0,驅動器n_1,驅動器inf_1等列一直添加到驅動器n_150和驅動器inf_150。分別為每個鍵入VARCHAR(30)和VARCHAR(48)。
查看完整描述

2 回答

?
明月笑刀無情

TA貢獻1828條經驗 獲得超4個贊

我已經有多個表?;旧?,我使用它來分類主機中的驅動器序列號。主機最多可以有150個驅動器。其他表包含網絡接口信息(macaddrs等)。所有這些都由一個共同的索引值捆綁在一起。對于具有150個磁盤驅動器的系統,除了150列之外,我看不到其他方法。要么那個,要么我錯過了一個基本概念。


查看完整回答
反對 回復 2021-04-16
  • 2 回答
  • 0 關注
  • 339 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號