有两种方法可以使用 sqlplus 以管理员身份连接到 Oracle:
sqlplus sys as sysdbasqlplus system/manager我想这些帐户应该用于不同的目的。
这两个模式用于哪些任务?我什么时候应该使用其中的一个?
SQL> desc dual
Name Null? Type
----------------------------------------- -------- ----------------------------
DUMMY VARCHAR2(1)
SQL> select 4*5 from dual;
4*5
----------
20
SQL>
Run Code Online (Sandbox Code Playgroud)
我觉得真的很奇怪。如果dual中没有名为4*5的列,select语句是如何工作的?
另外,为什么我在创建自己的双表时看不到相同的行为?
SQL> create table dual2(dummy varchar2(1));
Table created.
SQL> desc dual2
Name Null? Type
----------------------------------------- -------- ----------------------------
DUMMY VARCHAR2(1)
SQL> select 4*5 from dual2;
no rows selected
SQL>
Run Code Online (Sandbox Code Playgroud) http://en.wikipedia.org/wiki/CAP_theorem
http://www.cs.berkeley.edu/~brewer/cs262b-2004/PODC-keynote.pdf
我想是不是非常简单,为什么只有两个的
可以适用于任何给定的分布式数据库系统。这个猜想被证实,但有没有看出为什么一个简单的方法可能是,这可能持有?
我不是在寻找证明,只是一种理解为什么这个定理可能有意义的好方法。理由是什么?
我已经多次浏览了http://en.wikipedia.org/wiki/Database_engine上的定义:
数据库引擎(或“存储引擎”)是数据库管理系统 (DBMS) 用来从数据库创建、读取、更新和删除(CRUD) 数据的底层软件组件。
我不明白的是剩下要做的事情,不是数据库所做的全部 CRUD 吗?
如果数据库引擎执行这些功能,那么数据库的其余部分会做什么?
一些语句,如 create table、insert into 等,在末尾使用分号:
CREATE TABLE employees_demo
( employee_id NUMBER(6)
, first_name VARCHAR2(20)
, last_name VARCHAR2(25)
CONSTRAINT emp_last_name_nn_demo NOT NULL
) ;
Run Code Online (Sandbox Code Playgroud)
而其他人喜欢
set echo on
connect system/manager
Run Code Online (Sandbox Code Playgroud)
也不要分号。
这背后的原因是什么?我如何决定自己在哪里放分号,在哪里不放?
我知道这个问题可能听起来太愚蠢了,但我从来没有理解这部分。
SQL*Plus 适用于 SQL 和 PL/SQL。我如何知道某些代码是 SQL 还是 PL/SQL?如果我的代码有 for 循环,它就不再是 SQL 了吗?
PL/SQL 是 SQL 的扩展,具有循环、条件等。那么任何 SQL 代码默认都是 PL/SQL 代码?不是这样吗?
SQL 和 PL/SQL 之间有分界线吗?
区分触发此问题的黑白 SQL 和 PL/SQL 的两个示例:
在 SQL*Plus 提示符下,Rem和 都--可以作为注释指示符:
Rem this is a comment
-- this is also a comment
create table emp (
id number primary key,
name cvarchar2(40));
Run Code Online (Sandbox Code Playgroud)
这两种评论技术有什么区别吗?
oracle ×5
sqlplus ×3
nosql ×2
architecture ×1
bigtable ×1
couchdb ×1
join ×1
oracle-11g ×1
plsql ×1
scalability ×1
terminology ×1