这个sql怎么写? - Oracle / 开发
有 a1 b1 c1三段sql代码和一个变量data_date,当data_date='01'时,执行a1这一段代码,当data_date='02'时,执行b1这一段代码,当data_date='03'时,执行c1这一段代码,这个sql怎么写?
SQL code:
CASE data_date
WHEN '1'
THEN EXECUTE IMMEDIATE a1;
WHEN '2'
THEN EXECUTE IMMEDIATE b1;
ELSE EXECUTE IMMEDIATE c1;
END CASE;
create or replace procedure proc1
(a1 in varchar2,
b1 in varchar2,
c1 in varchar2,
data_date in varchar2
) is
begin
if data_date is null then
dbms_output.put_line('Error parameter: no value for data_date');
elsif data_date = '01' then
execute immediate a1;
elsif data_date = '02' then
execute immediate b1;
elsif data_date = '03' then
execute immediate c1;
else
dbms_output.put_line('Error parameter: value for data_date is not in (''01'',''02'',''03'')');
end if;
end;
动态拼接好sql 然后判断 执行
SQL code:
CREATE OR REPLACE PROCEDURE test_proc(v_data_date varchar2)
AS
sql1 VARCHAR2(200);
sql2 VARCHAR2(200);
sql3 VARCHAR2(200);
BEGIN
sql1 := 'SELECT emp, sal, depton from em
相关问答:
我一个项目,有个插入操作,具体是这样的:
我有进货信息表。在出货时选择相应的进货信息,输入数量,选择部门后,点保存按钮,由于网络延时,点一下没有反映,于是用户就又点一下,导致一次插入了两条记录:
例:
......
在系统运行的时候总是有一块磁盘始终闪红灯,进入系统后
#topas查看总是有一块磁盘%BUSY为90%以上,
数据库版本:oracle 9.2.0.7
数据文件挂载的节点:/oradata/pcs/ 逻辑卷号lv04
#lslv -l lv04
......
现在有两张表:文章主表A(articleId,articleTitle),文章评论表B(commentId,articleId,commentTitle)
现在我想实现这样的功能:列出文章列表,其中每篇文章标题下面列出此文章的前2个文章评论,请问sql语句怎么写啊 ......
sql的软件在哪里可以下啊!在网上找了蛮多都用不了啊
随便搞一D版吧,
迅雷第一个就可以用
2000,2005都这样
http://119.147.41.16/down?cid=0698C2D64D7D637D90A6D2482298E6717D4F15CD&t=2&fmt=-1 ......
1。怎样使xp_cmdshell能完整输出超过255个字符的字符串。
2。select 时,检索速度是与from后的 TABLE顺序有关,还是与where条件的顺序有关(TABLE数据多少 )
在系统属性设定里有个选项,可以修改单字段输出字数限制. ......