当前位置:首页>开发>正文

oracle 表名前有点是什么意思 oracle中表名中的$有什么特殊意义

2023-04-10 11:50:46 互联网 未知 开发

oracle 表名前有点是什么意思 oracle中表名中的$有什么特殊意义

oracle中表名中的$有什么特殊意义?

SQL> select * from tab
TNAME TABTYPE CLUSTERID
------------------------------ ------- ----------
BIN$izxDc elTFaISb9XK/dH9w==$0 TABLE
BIN$jLoEptdQQjyRxLcnh1S75Q==$0 TABLE

是类似于这样的表名么,这是曾经被你删掉的表,现在他们都在“回收站” ,所以表名已经不是之前的名字了。

还有一种是 表名中有“$“ ,比如 v$session... gv$session... 这些是系统自带视图,是方便查看数据库内部信息的表。

请教oracle表名中的前缀,后缀的含义

创建人的名字,企业一般用这个来分别这张表属于什么部门
和你说了啊,表前缀表示的是这张表是谁建立的。
比如数据库中有一个叫做hr的用户,创建了一张表叫做users,这张表的前缀就是hr,全名hr.users
一般hr表示人事,这是企业用来标志表所属部门的手段。

oracle查询表时一般都会用前缀.表名,这个前缀表示什么

前缀一般指用户名。

按理说完整的表名写法是 用户名.表名 如果查询当前用户下表,用户名 可省略,查询其他用户下的表 要用完整写法.
不同用户间表访问 也涉及到权限,如果A用户访问B用户的C表,则要将C表的SELECT权限授予A用户.

Oracle 中 [@] 代表什么意义?

string sql=[@]"select emp_no from emp where emp_id=[@]emp_id"

我看上面着行代码, 理论上应该是 C# 调用 SQL Server 的代码。
第一个 @ ,是 C# 里面用的。
意思是 忽略后面的转义符号。

也就是如果不用 @的话, 回车换行什么的, 你要 才行
用了 @, 就直接在字符串里面回车就好, 不必 了。

后面那个 =@emp_id 应该是一个 参数
SQL Server 使用 @ 开头的作为参数名
Oracle 好像是使用 :开头座位参数名的。

具体情况,可以对比一下 , 下面2个情况的对比:

C# 写入 Oracle 数据库表的例子
http://hi.baidu.com/wangzhiqing999/blog/item/8278231f3ecdc3168718bf7f.html

C#写入 SQL Server 数据库表的例子
http://hi.baidu.com/wangzhiqing999/blog/item/ba83a90532a591017aec2c7c.html

oracle的sql语句为什么要在表名前加前缀

你说的是abc.table,的 abc吧,这个是用户名,是这张表所属于的用户。
我举个例子:
比如有a,b两个用户。b用户下有一张c表。a用户下也有一张c表。
如果a用户写select * from c,那么这个c查询的是a用户下的c表。
如果a用户写为select * from b.c,那么这次a用户查询的就是b用户下的c表,不过这里有一个前提,a用户有查询b用户下c表的权限。
oracle下因为遵循最小权限原则,比如b用户对于b用户下的c表可以进行增删改查,但是对于另外一个人来说能查询就可以,如果让他去删除和改,那么可能会有问题产生,所以只给查询的权限,所以就会出现这个问题。

oracle表名中带@什么意思,例如:select * from dim.dim_area_no@to_dw

应该是建的有database links
dim是用户名,dim_area_no是表名,to_dw 是建的database links的名,
dim_area_no表属于dim用户
创建database links的作用是连接其他数据库的表
select * from dim.dim_area_no@to_dw
这个语句的作用是查询属于dim用户的dim_area_no表的所有内容

最新文章