字体有点问题先说下不好意思。
是这样的我用MYSQL做存储过程测试第一次成功了 接着我想做个对多表进行操作的于是我创建了2个表
第一个perducts这个表里有2个字段 name sexid其中sexid是外键 第2张表是专门做性别的 2个字段SexId是主键 sex才是实际插入的性别
然后大家来看看我这个存储过程
CREATE PROCEDURE `InsertPSex`(
name varchar(20),
Sex1 char(4)
) BEGIN
declare SID int(11)
select SID=SexId from productssex where Sex=Sex1
insert into products(name,sexid) values(name,SID);
END;
接着执行call InsertPSex('Su','女');就会有错误
错误要上传图片所以这里就不上传了 应该是存储过程的语法 这个临时变量的声名和赋值可能那里出问题了 我今天才学 以前只会SQLSERVER的存储过程
麻烦大家帮忙看看 回答问题是种美德谢谢共同进步!
放在数据库论坛上1天了没一个回帖没办法放这边了
是这样的我用MYSQL做存储过程测试第一次成功了 接着我想做个对多表进行操作的于是我创建了2个表
第一个perducts这个表里有2个字段 name sexid其中sexid是外键 第2张表是专门做性别的 2个字段SexId是主键 sex才是实际插入的性别
然后大家来看看我这个存储过程
CREATE PROCEDURE `InsertPSex`(
name varchar(20),
Sex1 char(4)
) BEGIN
declare SID int(11)
select SID=SexId from productssex where Sex=Sex1
insert into products(name,sexid) values(name,SID);
END;
接着执行call InsertPSex('Su','女');就会有错误
错误要上传图片所以这里就不上传了 应该是存储过程的语法 这个临时变量的声名和赋值可能那里出问题了 我今天才学 以前只会SQLSERVER的存储过程
麻烦大家帮忙看看 回答问题是种美德谢谢共同进步!
放在数据库论坛上1天了没一个回帖没办法放这边了
解决方案 »
- Web如何调试一些不常见的问题
- 入门helloworld类问题struts2报错-在线等
- 请教高手:这到底是怎么了?
- 关于JSP变量的问题,请帮忙,谢谢
- spring+hibernate+struts令大侠不好解决的问题
- 数字排列分组
- 用javascript来验证表单,不成功的?
- 使用vss出现了问题请大家指教(进来者就给分)
- 关于互访
- POI导出word(含表格)在本机测试正常为什么部署到winserver上表格就无法导出!
- 请问在struts2框架中如何在action所指向的result页面中取得action中的属性啊
- 关于Sping Hibernate Struts2方面的异常处理!!急!!
select SID=SexId from productssex where Sex=Sex1 ;
加上分号试试
CREATE PROCEDURE `test`.`InsertPSex`(
name varchar(20),
Sex1 char(4)
)
BEGIN
declare SID int;
select SexId from productssex where Sex=Sex1 into SID;
insert into products(name,sexid) values(name,SID);
END;
SQL执行错误#1366 从数据库相应
incorrect integer value: '女' for colunm 'Sex' at row 1
要不你把你的表结构create出来,调用过程全都给出来,大家一起瞅瞅。
CREATE TABLE `products` (
`Id` int(11) NOT NULL auto_increment,
`name` varchar(20) default NULL,
`sexid` int(11) NOT NULL default '0',
PRIMARY KEY (`Id`),
KEY `SPSex` (`sexid`)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8;第2个表
CREATE TABLE `productssex` (
`SexId` int(11) NOT NULL auto_increment,
`Sex` varchar(10) default NULL,
PRIMARY KEY (`SexId`)
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8;接下来就是存储过程了CREATE PROCEDURE `test`.`InsertPSex`(
name varchar(20),
Sex1 varchar(10)
)
BEGIN
declare SID int;
select SexId from productssex where Sex=Sex1 into SID;
insert into products(name,sexid) values(name,SID);
END;这个就是所有信息了 谢谢麻烦有时间的大哥们帮忙调调 救人一命胜造七级浮屠 阿弥陀佛
-- 创建sp
DELIMITER $$DROP PROCEDURE IF EXISTS `test`.`InsertPSex` $$
CREATE PROCEDURE `test`.`InsertPSex` (
name varchar(20),
Sex1 varchar(10)
)
BEGIN
declare SID int;
select SexId from productssex where Sex=Sex1 into SID;
insert into products(name,sexid) values(name,SID);
END $$DELIMITER ;-- 准备一条数据:
INSERT INTO productssex(Sex) VALUES('女');-- 执行sp
CALL InsertPSex('SU','女');
利用lz的脚本,执行完全没有任何问题,基本的几条语句怎么可能出状况呢?看图:
真晕 彻底晕。。不能在以前的基础上改SP只能重新建立一个 。。哎谢谢大家帮我了、、