mysql 特性赋初始值问题

guangliangnet 2009-09-02 01:47:21

能这样给特性赋初始值吗,麻烦各位给个正解
create PROCEDURE library_InsertUpdateDelete
(

llibraryID int =0,
lfileName varchar(50)='',
lfileSize int =0,
lbookName varchar(400)='',
lpinyin varchar(20)='',
lsubName text=''
...全文
76 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
ACMAIN_CHM 2009-09-02
  • 打赏
  • 举报
回复
MYSQL不支持省缺参数。不过你可以在你的存储过程中判断一下,如果参数 is null ,则赋予默认值。
vinsonshen 2009-09-02
  • 打赏
  • 举报
回复
你这种写法在mssql里面就可以,在mysql下不可以
其实,你可以存储进来null值,然后在存储过程的主体部分首先对输入参数的值检查并根据情况赋值,这样,你达到了默认值的效果了
nianzhang747 2009-09-02
  • 打赏
  • 举报
回复
DELIMITER $$
drop procedure if exists touch_;
CREATE PROCEDURE `touch_`(IN a varchar(20),IN b varchar(20),IN c varchar(20))
BEGIN
if a="Integer" then
SET a ="3";
end if;

SET b ="2";
SET c ="1";
set @v_flag = concat("select * from t where id!=",a," and id!=",b," and id!=",c);
prepare ee from @v_flag;
EXECUTE ee ;
DEALLOCATE PREPARE ee;
END$$

nianzhang747 2009-09-02
  • 打赏
  • 举报
回复
不可以
guangliangnet 2009-09-02
  • 打赏
  • 举报
回复
create PROCEDURE library
(


DB_Option_Action_ varchar(20)

)

begin

declare ReturnValue int
set ReturnValue=-1
if(DB_Option_Action_='Insert')
begin
能不能这样判断 if(DB_Option_Action_='Insert')
guangliangnet 2009-09-02
  • 打赏
  • 举报
回复
因为之前用的都是sqlserver,mysql是初次使用,所以对mysql存储过程不了解,
nianzhang747 2009-09-02
  • 打赏
  • 举报
回复
DELIMITER $$
drop procedure if exists touch_;
CREATE PROCEDURE `touch_`(IN a varchar(20),IN b varchar(20),IN c varchar(20))

BEGIN
SET a ="3";
SET b ="2";
SET v ="1";


set @v_flag = concat("select * from t where id!=",a," and id!=",b," and id!=",c);
prepare ee from @v_flag;
EXECUTE ee ;
DEALLOCATE PREPARE ee;
END$$
存储过程只能在begin 和end 之间设置变量值
声明部分目前我还不知道
wwwwb 2009-09-02
  • 打赏
  • 举报
回复
你在调用时赋值不行?
guangliangnet 2009-09-02
  • 打赏
  • 举报
回复
那只能在调存储过程时传递初始值给它了,到挺麻烦的,希望能给它赋初值没有其他方法了吗
阿_布 2009-09-02
  • 打赏
  • 举报
回复
全部都是默认为null。
guangliangnet 2009-09-02
  • 打赏
  • 举报
回复
那整型的初始值应该是0吗?
wwwwb 2009-09-02
  • 打赏
  • 举报
回复
不能,参数默认值为NULL

56,677

社区成员

发帖
与我相关
我的任务
社区描述
MySQL相关内容讨论专区
社区管理员
  • MySQL
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧