oracle数据库有什么用,一个id有多条?

oracle储存过程问题需要传入一个id的串。id在数据库内定义为number那么运行这个存储过程时怎么定义这个id串? [问题点数:40分结帖人shihuangtian]

  --在此处报无效数字错误。因为数据库中id是number型卻传入了一个字符串

--存储过程中用到idstring的地方。数据库中id为number类型的

把你想用到idstring:='22,'拼結到一個字符串中,然後去處理

lampid是number型的存储过程传入的參数该定义成什么类型??求解答。。

给你个建议查查动态sql吧 童鞋。

你写的这个sql等价于

跟你最终的想法相差十万八千里,想这麼干的话用动态sql

就是存储过程里需要一个id的串。但是这个id在数据库内定义的是number 那么这个传入的id串该定义为什么类型呢?定义为varchar2 报无效數字错误


跟你最终的想法,相差十万八千里想这么干的话用动态sql。

是的你明白了我的意思。我先去查一下动态sql吧

补充一点,我第┅个说的等价是一个比喻,是为了帮助你理解的实际上最终的等价不是那么回事。

觉得你该处理这个字符串,

1 新建个临时字符串

2 把传来嘚字符串逐个比较,只要是0-1的数字就把它存在 上面字符串中. 这个可以用到正则.

** 功能:根据输入的用户ID(S)及日期得到相应的用户邮箱(查询user_info表)
** 备注:工作日与非工作日区分对待:如果是工作日(周一到周五)则得到相关用户ID的workday_email字段内容;
** 如果是非工作日(周六、日)则得到相关用户ID的weekend_email字段嘚内容

考虑用数组 或者拆分传入的值



 

字符串动态变化,要用到可以直接执行的SQL语句中是不允许的 看看DBMS_SQL相关内容就好了

匿名用户不能发表回複!
}

我要回帖

更多关于 oracle数据库有什么用 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信