z13682007 发表于 2011-11-9 08:24:58

请高手指点

mysql -uroot -pBjxh6yZ masinterfacedb -e "select simmsid from zsl" >1
a=$(awk -F % 'NR==2 {printf $1}' 1)
tele1=15802694097
tele2=15973111256
tele3=15116242898
tele4=15974158275
n=1
while [ $n -le 40 ]; do
mysql -uroot -pBjxh6yZ masinterfacedb -e "update zsl set SIMMSID=$((a+1)),DESTADDR=$tele1"
mysql -uroot -pBjxh6yZ masinterfacedb -e "insert into mms_outbox select * from zsl"

mysql -uroot -pBjxh6yZ masinterfacedb -e "update zsl set SIMMSID=$((a+2)),DESTADDR=$tele2"
mysql -uroot -pBjxh6yZ masinterfacedb -e "insert into mms_outbox select * from zsl"

mysql -uroot -pBjxh6yZ masinterfacedb -e "update zsl set SIMMSID=$((a+3)),DESTADDR=$tele3"
mysql -uroot -pBjxh6yZ masinterfacedb -e "insert into mms_outbox select * from zsl"

mysql -uroot -pBjxh6yZ masinterfacedb -e "update zsl set SIMMSID=$((a+4)),DESTADDR=$tele4"
mysql -uroot -pBjxh6yZ masinterfacedb -e "insert into mms_outbox select * from zsl"
   n=$(($n+4));
done

给出具体配置。我想优化!谢谢大家!

kider 发表于 2011-11-9 17:50:14

看你就想根据上下文修改数据,直接用存储过程好了,给你个例子,参考改写吧:DELIMITER $$

CREATE DEFINER=`admin`@`%` PROCEDURE `USP_Abc`(v_OwnerId INT
    )
SWL_return:
    BEGIN
        DECLARE v_BuddyCount INT;

        SELECT ....
        IF v_at>=v_att THEN
                SELECT -520 AS 'Version';
                LEAVE SWL_return;
        END IF;
        IF EXISTS(SELECT * FROM ttt WHERE ..) THEN
                SELECT ...;
                LEAVE SWL_return;
        END IF;
       
       
    END$$

DELIMITER ;

kider 发表于 2011-11-9 17:51:22

动态SQL的例子:DROP PROCEDURE IF EXISTS `USP_LoadConfigTable`$$
CREATE DEFINER=`admin`@`%` PROCEDURE `USP_LoadConfigTable`(v_TableName        VARCHAR(64))
BEGIN
        DECLARE v_stat VARCHAR(200);
        SET @v_stat=CONCAT('select * from ',v_TableName);       
        PREPARE SelectConfigTable FROM @v_stat;
        EXECUTE SelectConfigTable;
    END$$
DELIMITER ;
页: [1]
查看完整版本: 请高手指点