oracle数据库左右连接问题
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了oracle数据库左右连接问题相关的知识,希望对你有一定的参考价值。
select * from budget_dsalemonthm m left join bas_region r on r.region_code=m.dept_id
其中,r.region_code为varchar2类型,M.dept_id为number类型,这样做连接是否会出现问题?
我在两个环境中运行了一下,一个环境中会出现“无效数据”,而另一个就能查询数据,不受影响,这跟表中的数据有关吗,两个环境的表结构都是一样的,数据有些变动
追答无效数据是数据问题,根据经验应该是出现数据不能转换情况,看看是否有NULL或其它to_char不能处理的数据类型,如clob等。
本回答被提问者和网友采纳 参考技术C 在设置这两个表的时候,region_code和dept_id这两个字段应设置为同一类型 参考技术D 当然会有问题咯,一定要类型相同,建议用varchar,可以省很多不必要的烦恼pl sql连接oracle设置
http://blog.csdn.net/cselmu9/article/details/8070728/
由于硬件技术的不断更新,Win7系统逐渐成为主流,而且计算机内存逐渐增大,为了充分的利用内存资源(因为32为系统最多只能用到3G左右的内存),提高系统性能,很多人开始使用Win7(64Bit)的系统。在64位系统上安装64位的Oracle数据库,但是没有对应的64位PL/SQL Developer,此时就不能使用PL/SQL Developer来进行直接连接的,所以要想实现连接还得需要其他途径来完成。下面就来说明如何实现连接。
一、下载Oracle客户端
下载地址:http://www.oracle.com/technetwork/database/features/instant-client/index-097480.html,点击连接进入会出现以下页面。
选择第一个Instant Client for Microsoft Windows (32-bit) 进行下载就可以了,请不要下载64bit的,我试过,不能实现连接的。
二、配置Oracle客户端
下载之后将其解压,不需要进行安装,比如解压到......\TOOLS_APP目录下,然后在instantclient_11_2目录下新建两层文件夹\NETWORK\ADMIN,再在ADMIN文件夹下面建一个tnsnames.ora文件,然后向文件中添加如下内容:
- ORACLE =
- (DESCRIPTION =
- (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
- (CONNECT_DATA =
- (SERVER = DEDICATED)
- (SERVICE_NAME = ORACLE)
- )
- )
- LISTENER_ORACLE =
- (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
- ORACLR_CONNECTION_DATA =
- (DESCRIPTION =
- (ADDRESS_LIST =
- (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
- )
- (CONNECT_DATA =
- (SID = CLRExtProc)
- (PRESENTATION = RO)
- )
- )
以上的内容可以在这个地方进行拷贝:E:\OracleDB\app\MuLing\product\11.2.0\dbhome_1\network\admin\tnsnames.ora。
三、进行安装PL/SQL Developer
将之前下载好的PL/SQL Developer(没有的在网上自行下载)进行安装,但需要强调一点:安装路径中不能有括号,不要安装在C:\Program Files (x86)目录下面。
四、进行PL/SQL Developer的配置:
安装完成之后,运行PL/SQL Developer,此时出现的登录窗体不能进行登录,点击Calcel按钮,这时会在无登录状态下进入。
配置相应信息,把之前的解压包信息配置上:
五、重新启动PL/SQL Developer进行登录。
输入相应的信息就可以进行连接登录。
六、验证是否真的连接到Oracle了
写一条Sql语句进行验证,查询可以看到下面的效果,说明连接成功。
以上是关于oracle数据库左右连接问题的主要内容,如果未能解决你的问题,请参考以下文章