本文将为您提供关于在OracleSQL中进行连接的详细介绍,我们还将为您解释sql连接oracle数据库的相关知识,同时,我们还将为您提供关于oracle–使用连接字符串从命令行连接到sqlplus、
本文将为您提供关于在Oracle SQL中进行连接的详细介绍,我们还将为您解释sql连接oracle数据库的相关知识,同时,我们还将为您提供关于oracle – 使用连接字符串从命令行连接到sql plus、Oracle:如何在Oracle SQL中将十六进制转换为十进制数?、【ORACLE】教你怎么在Oracle Cloud上创建一个自治数据库,并通过客户端进行连接、在Oracle / Sql中这可能吗?的实用信息。
本文目录一览:- 在Oracle SQL中进行连接(sql连接oracle数据库)
- oracle – 使用连接字符串从命令行连接到sql plus
- Oracle:如何在Oracle SQL中将十六进制转换为十进制数?
- 【ORACLE】教你怎么在Oracle Cloud上创建一个自治数据库,并通过客户端进行连接
- 在Oracle / Sql中这可能吗?
在Oracle SQL中进行连接(sql连接oracle数据库)
假设我们有以下表格
create table Employee(
2 EMPNO NUMBER(3),3 ENAME VARCHAR2(15 BYTE),4 HIREDATE DATE,5 ORIG_SALARY NUMBER(6),6 CURR_SALARY NUMBER(6),7 REGION VARCHAR2(1 BYTE),8 MANAGER_ID NUMBER(3)
9 )
和
create table job (
2 EMPNO NUMBER(3),3 jobtitle VARCHAR2(20 BYTE)
4 )
5 /
我对以下查询的作用感兴趣
SELECT empno,manager_id,ename
2 FROM employee
3 START WITH empno = 1
4 CONNECT BY PRIOR empno = manager_id;
我的理解,这个代码选择empno
,manager_id
,ename
从员工,它开始选择从该行地方empno=1
,但不明白这行做了什么:
CONNECT BY PRIOR empno = manager_id;
是否与以下内容相同:
where empno=manager_id?
oracle – 使用连接字符串从命令行连接到sql plus
那么我该如何正确连接呢?我使用了很多选项:
sqlplus x/y@'(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=c)(PORT=a))(CONNECT_DATA=(SID=z)(SERVER=DEDICATED)))' sqlplus (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=c)(PORT=a))(CONNECT_DATA=(SID=b)))
提交这些命令行通常会给我回复错误消息,如:
ORA-12560: TNS:protocol adapter error
ORA-12514: TNS:listener does not currently kNow of service
提前谢谢了!!
sqlplus username/password@host:port/service sqlplus x/y@c:a/b
现代版本的sqlplus(版本11或更新版本)了解此语法,您不需要tnsnames.ora文件.
Oracle:如何在Oracle SQL中将十六进制转换为十进制数?
要将十六进制转换为十进制:
select to_number('AA','xx') from dual;
要将十进制转换为十六进制:
select to_char(111,'xxxx') from dual;
【ORACLE】教你怎么在Oracle Cloud上创建一个自治数据库,并通过客户端进行连接
前言
在上一篇文章【ORACLE】教你怎么自主免费开通ORACLE的MOS权限 中,教大家通过申请免费的ORACLE CLOUD服务来开通了MOS权限,既然来都来了,ORACLE CLOUD上那么多免费的服务,我们不用一用不就浪费了?
所以,这篇教大家如何在ORACLE CLOUD里开通一台自治数据库,并通过你本机的oracle客户端进行连接
一、申请ORACLE CLOUD账号
略,请参考此文【ORACLE】教你怎么自主免费开通ORACLE的MOS权限
二、创建ATP数据库
- 进入oraclecloud网站并登陆 https://cloud.oracle.com
- 点击创建ATP数据库(当然ADW也行)
- 填写数据库相关信息,"始终免费"、管理员密码、邮箱
- 点击创建自治数据库按钮,接下来就等它创建好
三、配置本地连接环境
- 数据库创建好后,点击刚刚创建的数据库
- 点击数据库连接
- 点击下载wallet
- 输入密码并点击下载(可以和上面的管理密码不一致),获得一个压缩包
- 打开压缩包中的tnsname.ora,并将其内容添加至你本机客户端tnsname.ora文件中
- 将压缩包中,除了tnsname.ora以外的文件,解压到你本机客户端的network/admin/文件夹下,注意别把你自己的tnsname.ora覆盖了
- 打开sqlnet.ora文件,把文件内的路径配置完整(这里一般是自动读环境变量,但有些电脑上不一定配置了)
WALLET_LOCATION = (SOURCE = (METHOD = file) (METHOD_DATA = (DIRECTORY="?/network/admin")))
SSL_SERVER_DN_MATCH=yes
改成,注意这个路径要填你自己的instantclient的路径
WALLET_LOCATION = (SOURCE = (METHOD = file) (METHOD_DATA = (DIRECTORY="F:\oracle_bak\instantclient_21_3\network\admin")))
SSL_SERVER_DN_MATCH=yes
四、连接数据库
- sqlplus
- plsql developer
五、注意事项
- 请尽量使用新版本的oracle客户端,比如21.3版本https://www.oracle.com/cn/database/technologies/instant-client/winx64-64-downloads.html
- 注意实际引用的tnsnames.ora目录是否正确
- 5个tns名称分别适用于不同的场景,执行优先级最高的应该是TPurgent
- High – for long queries, high parallelism, low SQL concurrency.
- Medium – for medium queries, parallelism, medium concurrency.
- Low – for short queries, no parallelism, high concurrency.
- TPurgent – for high priority transaction processing.
- TP – for standard transaction processing.
- 压缩包中的其他文件可用于jdbc的连接
- 本文作者: DarkAthena
- 本文链接: https://www.darkathena.top/archives/connect-to-oracle-cloud-adb
- 版权声明: 本博客所有文章除特别声明外,均采用CC BY-NC-SA 3.0 许可协议。转载请注明出处!
在Oracle / Sql中这可能吗?
我有两个表:
CREATE TABLE Event_details( event_no INTEGER AUTOINCREMENT NOT NULL,no_players INTEGER NOT NULL,game_type VARCHAR(20) NOT NULL,payout_positions INTEGER NOT NULL,PRIMARY KEY(event_no)
CONSTRAINT check_game_type CHECK(game_type IN ('NLH','NLO','PLO','PLH','STUD','HORSE')
CONSTRAINT check_no_players CHECK (no_players > 1)
CONSTRAINT check_payouts CHECK (payout_positions > 0 AND payout_positions < no_players));
CREATE TABLE Venue( venue_no INTEGER AUTOINCREMENT NOT NULL,name VARCHAR(20) NOT NULL,location VARCHAR(20) NOT NULL,capacity INTEGER NOT NULL,PRIMARY KEY (venue_no)
CONSTRAINT check_capacity CHECK (capacity > 0));
以及它们之间的外键:
ALTER TABLE Event_details
ADD FOREIGN KEY (venue_no)
REFERENCES Venue(venue_no)
ON DELETE SET NULL;
我想设置一个CONSTRAINT(或TRIGGER
???),该条目将不允许(或标记)Event_details(no_players)<Venue(capacity)其中Venue(capacity)是在外键行中找到的值的条目。
这可能吗?
今天关于在Oracle SQL中进行连接和sql连接oracle数据库的讲解已经结束,谢谢您的阅读,如果想了解更多关于oracle – 使用连接字符串从命令行连接到sql plus、Oracle:如何在Oracle SQL中将十六进制转换为十进制数?、【ORACLE】教你怎么在Oracle Cloud上创建一个自治数据库,并通过客户端进行连接、在Oracle / Sql中这可能吗?的相关知识,请在本站搜索。
本文标签: