将两个字段显示在一个列中

gtiroy 2008-12-29 04:17:43
需要插入表SQL语句如下

insert into jc_m_sms_send_main(s_id, s_message, s_sendstuffcode)
values
(:SeqID, :MessageText +(select s_stuffname from STUFF_DICT where s_stuffcode = :SuffCode),(:SuffCode))


运行时报错:ORA-01722: 无效数字


开始Sql语句为

insert into jc_m_sms_send_main(s_id, s_message, s_sendstuffcode)
values
(:SeqID, :MessageText,(:SuffCode))

执行正常。

不知道如何在:MessageText后加入(select s_stuffname from STUFF_DICT where s_stuffcode = :SuffCode)查出的值。谢谢




...全文
232 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
watson110 2008-12-31
  • 打赏
  • 举报
回复
楼主可以这样试一下
declare
v_sql varchar(200);
v_stuffname varchar(100);
v_sqlinsert varchar(500);
betin
v_sql:='select s_stuffname from STUFF_DICT where s_stuffcode = :SuffCode';
EXECUTE IMMEDIATE(v_sql) into v_stuffname;
EXECUTE IMMEDIATE(commit);
v_sqlinsert :='insert into jc_m_sms_send_main(s_id, s_message, s_sendstuffcode)
values (:SeqID, :MessageText||'||v_stuffname||' ,(:SuffCode)) ';
DBMS_output.put_line('v_sqlinsert:'||v_sqlinsert);
EXECUTE IMMEDIATE(v_sqlinsert);
EXECUTE IMMEDIATE(commit);
end;
watson110 2008-12-31
  • 打赏
  • 举报
回复
貌似大家的写法都是有问题的:
create table t
(
id int
)


create table s
(
id int
)
insert into s values(1);


insert into t values (select id from s);

执行时会发生缺少表达式的错误吧
D13ay 2008-12-31
  • 打赏
  • 举报
回复
都是正解
gtiroy 2008-12-31
  • 打赏
  • 举报
回复
concat最好用~
gtiroy 2008-12-31
  • 打赏
  • 举报
回复
祝大家新年快乐~
denghuozhi 2008-12-31
  • 打赏
  • 举报
回复
10楼的对
wangsong145 2008-12-30
  • 打赏
  • 举报
回复
[Quote=引用楼主 gtiroy 的帖子:]
需要插入表SQL语句如下

SQL code
insert into jc_m_sms_send_main(s_id, s_message, s_sendstuffcode)
values
(:SeqID, :MessageText +(select s_stuffname from STUFF_DICT where s_stuffcode = :SuffCode),(:SuffCode))




运行时报错:ORA-01722: 无效数字


开始Sql语句为

SQL code
insert into jc_m_sms_send_main(s_id, s_message, s_sendstuffcode)
values
(:SeqID, :MessageText,(:SuffCode))…
[/Quote]

SQL code
insert into jc_m_sms_send_main(s_id, s_message, s_sendstuffcode)
values
(:SeqID, :MessageText ||(select s_stuffname from STUFF_DICT where s_stuffcode = :SuffCode),(:SuffCode))

Oracle中连接字符串用“||”
sleepzzzzz 2008-12-29
  • 打赏
  • 举报
回复
呵呵,乱军之中,抢分速走.
jdsnhan 2008-12-29
  • 打赏
  • 举报
回复
好高的分啊。
六指琴魔中的迟来大师
范佩西_11 2008-12-29
  • 打赏
  • 举报
回复
这个文件简单分有多。连接字符串的时候
oracle的||相当于sqlserver的+
bw555 2008-12-29
  • 打赏
  • 举报
回复
insert into jc_m_sms_send_main(s_id, s_message, s_sendstuffcode)
select :SeqID, :MessageText||s_stuffname,:SuffCode from STUFF_DICT where s_stuffcode = :SuffCode
mantisXF 2008-12-29
  • 打赏
  • 举报
回复
ORACLE 连接两字段用||,或用CONCAT函数。[Quote=引用楼主 gtiroy 的帖子:]
需要插入表SQL语句如下

SQL code
insert into jc_m_sms_send_main(s_id, s_message, s_sendstuffcode)
values
(:SeqID, :MessageText +(select s_stuffname from STUFF_DICT where s_stuffcode = :SuffCode),(:SuffCode))




运行时报错:ORA-01722: 无效数字


开始Sql语句为

SQL code
insert into jc_m_sms_send_main(s_id, s_message, s_sendstuffcode)
values
(:SeqID, :MessageText,(:SuffCode))…
[/Quote]
sleepzzzzz 2008-12-29
  • 打赏
  • 举报
回复
-- 你是拼串吗,改为:
insert into jc_m_sms_send_main(s_id, s_message, s_sendstuffcode)
values
(:SeqID, :MessageText ||(select s_stuffname from STUFF_DICT where s_stuffcode = :SuffCode),(:SuffCode))

17,377

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧