pl/sql中在where in()子句里怎么使用字符串变量来传递查询条件?

news/2024/7/5 5:18:04
CSDN - 专家门诊 -
主  题:
请问pl/sql中在where in()子句里怎么使用字符串变量来传递查询条件?
作  者:web_gus (penny)
信 誉 值:100
所属论坛:Oracle 开发
问题点数:100
回复次数:5
发表时间:2004-11-25 18:52:08
create or replace procedure test1(  i_miseCode   in  varchar2, o_totalCount out number) is
   
begin
o_totalcount:=0;
 
          SELECT count(*)into(o_totalCount) FROM GCM_SHOHIN
            WHERE MISE_CD IN(i_miseCode) ;  
  
end test1;
输入参数i_miseCode='1001','1002'等多个条件,现在只有输入1个条件时正确,并且不能带引号,如果输入2个以上的时候就会出错怎么回事?

回复人: web_gus(penny) ( ) 信誉:100 2004-11-25 18:55:46 得分:0
 
up

Top
回复人: lialin(阿林) ( ) 信誉:99 2004-11-25 18:58:14 得分:20
 
你用动态语句来实现就好了!
  v_sql:='SELECT count(*)  FROM GCM_SHOHIN WHERE MISE_CD IN('||i_miseCode||')';
  exec v_sql into _totalcount;


Top
回复人: web_gus(penny) ( ) 信誉:100 2004-11-25 19:23:17 得分:0
 
谢谢阿林,我同事本来是这么写的,可是老板不让用动态语句,所以他才修改成这样的,我负责测试,现在这样不知道怎么才能实现啊,他想用substring,循环取子串,感觉太麻烦,不知有没有更好的方法?  SELECT count(*)into(o_totalCount) FROM GCM_SHOHIN
            WHERE MISE_CD IN(i_miseCode) ;  
这样写错在哪里啊?

Top
回复人: zmgowin(隐者(龙祖宗)) ( ) 信誉:100 2004-11-25 19:38:08 得分:80
 
将语法改改
create or replace procedure test1(  i_miseCode   in  varchar2, o_totalCount out number) is
begin
         SELECT count(*) into totalCount FROM GCM_SHOHIN
            WHERE instr(i_miseCode,MISE_CD)>0; 
end test1;

测试的时候要用这种结构,如:
exec test1('''1'',''2''',:b)
不要直接输入'1','2'


Top
回复人: web_gus(penny) ( ) 信誉:100 2004-11-26 8:39:16 得分:0
 
非常感谢zmgowin(隐者(龙祖宗))

Top

该问题已经结贴 ,得分记录: lialin (20)、 zmgowin (80)、

http://www.niftyadmin.cn/n/3879805.html

相关文章

使用.INI文件为输入界面创建“动态帮助” 选择自 trnbo 的 Blog

在c#编程中,某些情况下我们可能还会用到.INI文件。例如为一个输入界面创建“动态帮助”:我们在输入界面下方设置一个标签,当用户将光标移动到每一个TextBox或其他输入,选择框时,标签文字自动变换为该输入项的一些帮助信…

C#中的类型转换 选择自 sxqyj 的 Blog

C# 出来也有些日子了,最近由于编程的需要,对 C# 的类型转换做了一些研究,其内容涉及 C# 的装箱/拆箱/别名、数值类型间相互转换、字符的 ASCII 码和 Unicode 码、数值字符串和数值之间的转换、字符串和字符数组/字节数组之间的转换、各种数值…

declare sql语句_Sql Server中孤立的SQL用户查找和删除

问题最近公司很多数据库在上云,也有一部分在下云。这期间出现了很多问题,其中一个比较恶心的问题就是“孤立用户”。当数据库备份还原以后用以前的用户发现不能登录。一开始以为是登录账号没有创建,然后重新创建登录账号,然后再授…

Hook钩子攻略 选择自 Gongnanpi 的 Blog

一。写在最前本文的内容只想以最通俗的语言说明钩子的使用方法,具体到钩子的详细介绍可以参照下面的网址: http://www.microsoft.com/china/community/program/originalarticles/techdoc/hook.mspx二。了解一下钩子 从字面上理解,钩子就是想钩…

quartz可以指定方法名吗_柴犬可以剃毛吗?柴犬掉毛及应对方法

点击蓝字关注“柴犬大队”,时刻掌握最新动态!柴犬属于双层毛的犬类,外层是粗硬的起保护作用的被毛,里层是细软的底毛,在春夏交接之时,柴柴会褪掉里层的底毛,只留下外层的保护毛。那么&#xff0…

VS中资源文件的使用心得,建议关注! 选择自 smallmark 的 Blog

假设有两个文件:main.exe 和 lib.dllmain.exe调用lib.dll中的某个类在lib.dll中使用 Assembly.GetExecutingAssembly 得到的将是指向 lib.dll 的Assembly 如果使用 Assembly.GetEntryAssembly 得到的将是指向 main.exe 的Assembly还有一个问题值得关注&#…

学python编程好就业吗_学Python人工智能开发?有没有前途

学python人工智能开发?有没有前途?近两年来,由于语音技术、人工智能发展,以及亚马逊、Google 等厂商积极推动技术在商业落地的情况下语音 AI 各方面的潜力正在逐步被挖掘出来。学细心的同学们都会发现,从我们日常用的智能音箱,到…

新增加的HTML扩充

新增加了一些HTML扩充以支持样式表。这些扩充允许在HTML文档中包含样式表,允许HTML文档链接外部样式表,允许CSS规则与某一类单元相关联。仅少数HTML扩充是必须的:三个新单元: STYLE、 SPAN 和具有属性 REL"stylesheet"…