oracle存储过程里面能不能用||把插入语句和查询语句连接起来?比如:vsqls:=str_1||tab_record.vsql(str_1是一个插入语句,而tab_record.vsql是一个查询语句,查询结果为多字段多行值)。
解决方案 »
- Oracle11g创建表空间
- 在oracle如何优化?
- oracle 初始化配置文件的配置
- Oracle Forms Developer Release 6i 能在XP上安装吗?
- 从oracle网站上下载来的oracle,有什么限制吗?跟正版的有什么区别?我从他网站上下载一个.安装时出现一大堆提示,说文件找不到!
- 在储存过程中执行创建表的脚本出错,不知怎么回事!!!
- ORA-01652: unable to extend temp segment by 128 in tablespace TEMP
- 急需解决——高手请进!
- ora-12154 :TNS:监听进程不能解析在连接描述符中给出的SERVICE-NAME.高手们帮我看个问题!!!!!!!!!!!!!!!!
- 你们怎样在学ORACLE数据库?
- oracle 过程中游标中取值和游标中逻辑直接取值不一样
- 求问:如何提高数据库服务器使用率
图一是一条vsql语句查询出来的结果,图二是报错行
vsqls:=' INSERT INTO RULE_WT( SYS_NAME, TABLE_NAME, COL_NAME, ABBR, INTEGRITY_SIZE, REGULAR_SIZE) ' || ' select 'PMS', 'yj_gjlc_sjkb_scjglc', 'organization', pr_abbr_name, count(*), 0 from yj_gjlc_sjkb_scjglc where organization is null group by pr_abbr_name '
你写的并不是实际值,而是自己写的
这张图是本月上旬插入的数据,存储过程并没有改变,只是净报错了。
如果不会OUTPUT,你可以建一个表,把VSQLS插入并提交,然后查询这张表,把结果贴出来
TABLE
DSQLS AS SELECT
t.system,
t.table_name,
t.col_abbr,
'1' RULE,
'select ' || '''' || t.system || ''',' || '''' || t.table_name || ''',' || '''' || t.col_name || ''',' || t.col_abbr || ',count(*),' || '0 from ' || t.table_name || ' where ' || t.integrity_rule_context || ' group by ' || t.col_abbr || ' ' vsql
FROM
rule_database t
WHERE
t.integrity_rule_context IS NOT NULL;
INSERT
INTO
DSQLS (system,
TABLE_NAME,
COL_ABBR,
RULE,
VSQL)(
SELECT
t.system,
t.table_name,
t.col_abbr,
'2',
'select ' || '''' || t.system || ''',' || '''' || t.table_name || ''',' || '''' || t.col_name || ''',' || t.col_abbr ||'0'|| ',count(*) from ' || t.table_name || ' where ' || t.REGULAR_RULE_CONTEXT || ' group by ' || t.col_abbr || ' '
FROM
rule_database t
WHERE
t.REGULAR_RULE_CONTEXT IS NOT NULL);
dsqls表数据如下图