MySQL CURSOR 中文
EMPLOYEE.NAME 这个字段是如何定义的?
另外 EMPLOYEE 这个表的建表SQL是什么?
出现这种问题通常都是因为字符集的缘故导致的
回答:我的数据库已经改为UTF8,而且可以正常的添加和删除。
      定义:
         //
          //NAME
          //STRING
          //
          //varchar(80)
          //
            //
          //
          //姓名*
            // Employee Name
             //姓名*
             //
          //Employee Name
        //
我有一个关于游标的问题,请帮帮忙!
1.我有一张表名为EMPLOYEE,还有另外一张表名为DEPARTMENT。
2.当发生一个操作时,需要把EMPLOYEE表中三个字段EMPLOYEE.OID,EMPLOYEE.EMPLOYEE_ID,EMPLOYEE.NAME用游标取出,然后一条一条插到另外得一张表中。
3.这个游标放在一个触发器中,在触发器启动的时候会发生报错。
我认为是:由于EMPLOYEE.NAME字段存的是中文,所以在将它赋值给一个变量_name的时候报错“Data to long for _name”。
(PS:我试过其他的字段,数字和字符串都没有问题。)
程序如下:
BEGIN
  DECLARE _oid INT;
  DECLARE _id VARCHAR(80);
  DECLARE _name VARCHAR(80);
  DECLARE _company INT;
  DECLARE num VARCHAR(80);
  DECLARE reqid VARCHAR(80);
  DECLARE _reqid VARCHAR(80);
  DECLARE done INT DEFAULT 0;
  DECLARE cur1 CURSOR FOR select EMPLOYEE.OID,EMPLOYEE.EMPLOYEE_ID,EMPLOYEE.NAME
  from EMPLOYEE
  where EMPLOYEE.DEPARTMENT =NEW.DEPARTMENT_OID;
  DECLARE CONTINUE HANDLER FOR SQLSTATE '02000' SET done = 1;
  OPEN cur1;
  REPEAT
      FETCH cur1 into _oid,_id,_name
      //好像事在这儿,当把EMPLOYEE.NAME赋值给_name 的时候
      UNTIL done END REPEAT;
  CLOSE cur1;
END
 
      
yejr
周六, 2006/12/23 - 19:32
Permalink
好像在别的地方看到
好像在别的地方看到有人问跟你一样的问题,应该也是你吧.
还是那句话,应该是字符集的问题导致的,先把要写入的数据字符集以及对应表的字符集都统一了.
MySQL 中文网: http://imysql.cn
Google MySQL 中文用户群:http://groups.google.com/group/imysql
给你的祝福,要让你招架不住!
sxryan1
周一, 2006/12/25 - 09:34
Permalink
我给你发了封email。
我给你发了封email。
yejr
周一, 2006/12/25 - 17:53
Permalink
sorry,没收到. MySQL中文
sorry,没收到.
MySQL中文网: http://imysql.cn
Google MySQL中文用户群:http://groups.google.com/group/imysql
给你的祝福,要让你招架不住!
sxryan
周六, 2006/12/30 - 11:31
Permalink
它的字符集分:client
它的字符集分:client and server.
CLIENT SECTION
[client]
port=3306
[mysql]
default-character-set=utf8
SERVER SECTION
[mysqld]
port=3306
default-character-set=utf8
以前只改了client,没有改server。
yejr
周六, 2006/12/30 - 17:27
Permalink
呵呵,最重要的当然
呵呵,最重要的当然是server端了,client端可以随时改变,server端的有的不是运行时可改变的。
MySQL中文网: http://imysql.cn
Google MySQL中文用户群:http://groups.google.com/group/imysql
给你的祝福,要让你招架不住!