17,090
社区成员
发帖
与我相关
我的任务
分享
SQL> desc a_file
Name Type Nullable Default Comments
---- ------------ -------- ------- --------
A01 INTEGER Y
A02 INTEGER Y
A03 NVARCHAR2(2) Y
SQL> desc b_file
Name Type Nullable Default Comments
---- ----------- -------- ------- --------
B01 INTEGER Y
B02 INTEGER Y
B03 VARCHAR2(1) Y
看一下表A03和B02字段,一个是字符一个是数值
A_file 数值:
1 1 11 11
2 2 12 12
3 3 13 13
4 4 14 14
5 5 15 15
6 6 16 16
7 7 17 17
8 8 18 18
9 9 19 19
10 10 20 20
B_file :
1 111 11 0
2 212 12 0
3 313 13 0
4 414 14 0
5 515 15 0
现在看选择语句
select * from a_file where a03 in(select b02 from b_file)子
这里的A03是NVARCHAR(2) 而b02是INT,系统可以自动转换!
结果如下:
1 1 11 11
2 2 12 12
3 3 13 13
4 4 14 14
5 5 15 15
使用exectue immediate的方法。
主体语句如下:
begin
execute immediate 'select *from ZSYWYJ.QD_QX_MENU where menu_id in ('||你编号1得到的字符串||')';
end;