表结构和内容如下SQL> desc E_MS_TASK;
Name Type Nullable Default Comments
------------------ -------------- -------- ------- --------
ID VARCHAR2(32)
NAME VARCHAR2(255)
DESCRIPTION VARCHAR2(1000) Y
E_MS_TASK范例数据
ID Name DESCRIPTION
1 sp1 AA_1001_CCC
2 sp3 AA_1001_CCC
3 sp4 AA_1002_CCC
4 sp5 AA_1003_CCC
5 sp5 AA_1003_CCCSQL> desc E_MS_TASK_ARG;
Name Type Nullable Default Comments
------------------ -------------- -------- ------- --------
ID VARCHAR2(32)
NAME VARCHAR2(255)
value VARCHAR2(255) Y
范例数据
ID Name value
1 1001 Tom
2 1002 Jerry
3 1003 Mike
4 1004 Kelly
5 1005 John希望E_MS_TASK最终数据
范例数据
ID Name DESCRIPTION
1 sp1 AA_Tom_CCC
2 sp3 AA_Tom_CCC
3 sp4 AA_Jerry_CCC
4 sp5 AA_Mike_CCC
5 sp5 AA_Mike_CCC即要做一个替换功能,把1001这样的字符串替换成另外一个字符串
而替换规则定义在E_MS_TASK_ARG中,请问这个sql应当怎么写,请大虾指教啊 有人把E_MS_TASK_ARG这样的表称做维表,其实确切说 还是数据字典表
只是一说 数据字典表总是会让人想起oracle的数据字典表
Name Type Nullable Default Comments
------------------ -------------- -------- ------- --------
ID VARCHAR2(32)
NAME VARCHAR2(255)
DESCRIPTION VARCHAR2(1000) Y
E_MS_TASK范例数据
ID Name DESCRIPTION
1 sp1 AA_1001_CCC
2 sp3 AA_1001_CCC
3 sp4 AA_1002_CCC
4 sp5 AA_1003_CCC
5 sp5 AA_1003_CCCSQL> desc E_MS_TASK_ARG;
Name Type Nullable Default Comments
------------------ -------------- -------- ------- --------
ID VARCHAR2(32)
NAME VARCHAR2(255)
value VARCHAR2(255) Y
范例数据
ID Name value
1 1001 Tom
2 1002 Jerry
3 1003 Mike
4 1004 Kelly
5 1005 John希望E_MS_TASK最终数据
范例数据
ID Name DESCRIPTION
1 sp1 AA_Tom_CCC
2 sp3 AA_Tom_CCC
3 sp4 AA_Jerry_CCC
4 sp5 AA_Mike_CCC
5 sp5 AA_Mike_CCC即要做一个替换功能,把1001这样的字符串替换成另外一个字符串
而替换规则定义在E_MS_TASK_ARG中,请问这个sql应当怎么写,请大虾指教啊 有人把E_MS_TASK_ARG这样的表称做维表,其实确切说 还是数据字典表
只是一说 数据字典表总是会让人想起oracle的数据字典表
解决方案 »
- oracle赋值给变量出错!!!! 高手们请进!!!!!!!!
- oracle用浏览器打不开,命令行里打得开??
- ORACLE9能装在四核CPU的机器上吗?
- 用sql如何取得这样的数据
- 谁要能解决,立刻送分100(虽然不多,但有诚意) 以后有机会一定请他吃大餐!
- ORACLE中一个表的主键被删除或者一个没有主键的表加了主键,能否查出是哪个用户操作的?
- dbtimezone跟current_timestamp有什么不同?
- sql-server到oracle的转换
- 这句SQl在Mysql中执行比oracle快,为什么?
- 这个存储过程怎么调试!?谢谢!
- oracle里创建表于插入数据同时执行
- 求救 !!!为什么我用OCISTMTExecute执行存储过程就出错返回-1,而执行sql 语句就正确。急急
如果可以update E_MS_TASK t1 set DESCRIPTION
= (select substr(t1.DESCRIPTION ,0,instr(t1.DESCRIPTION,'_'))
|| t2.value ||
substr(t1.DESCRIPTION ,instr(t1.DESCRIPTION ,'_',1,2),length(t1.DESCRIPTION))
from E_MS_TASK_ARG t2
where t2.name = substr(t1.DESCRIPTION,instr(t1.DESCRIPTION,'_',1,1)+1,
instr(t1.DESCRIPTION,'_',1,2) -instr(t1.DESCRIPTION,'_',1,1)-1))
最好写成一个procedure来处理,可以添加出错处理。
如果可以update E_MS_TASK t1 set DESCRIPTION
= (select substr(t1.DESCRIPTION ,0,instr(t1.DESCRIPTION,'_'))
|| t2.value ||
substr(t1.DESCRIPTION ,instr(t1.DESCRIPTION ,'_',1,2),length(t1.DESCRIPTION))
from E_MS_TASK_ARG t2
where t2.name = substr(t1.DESCRIPTION,instr(t1.DESCRIPTION,'_',1,1)+1,
instr(t1.DESCRIPTION,'_',1,2) -instr(t1.DESCRIPTION,'_',1,1)-1))
最好写成一个procedure来处理,可以添加出错处理。
如果可以 不能确定啊是oracle9i 啊大虾指教啊