全部的
这个标题几乎说明了一切。我在这里查看,但找不到任何有关模式的信息。
有人能帮我照个灯吗?
我知道MS SQL Server使用“schema.name”来引用数据库中的表,但对于Sybase我不确定。
蒂娅!
编辑:
我想我应该更具体一点。
我知道在MS SQL Server中可以修改表所有者,但您仍然可以通过“从sysobjects so、sysusers su、sys.tables t、sys.schemas s中选择su.name,其中so.uid=su.uid和t.object_id=so.id和t.schema_id=s.schema_id和s.name=?和so.name=?;”
现在,使用Sybase everywhere,我查看了检索表所有者的查询,它不引用模式名,只引用表名。这是否意味着Sybase中的表所有者不可更改?或者它是可变的,但是模式也会改变?
有人能帮我照一下吗?
它的工作原理与MS SQL Server中的相同。您可以使用模式。对象
。如果使用对象
,则会搜索该对象:
dbo
模式中您还可以使用数据库。物主对象
符号或数据库。。当所有者是
符号。dbo
或event服务器时,对象
表示法。数据库物主连接外部ASE服务器时的对象
在赛贝斯/SAP ASE中,所有表都有一个所有者;这个所有者实际上与架构是一回事。
您提到的链接指向sysobjects(system)表,它存在于每个数据库中。sysobjects包含数据库中所有对象(例如表、过程、触发器、视图等)的一些高级元数据。
sysobject表中感兴趣的两列
所有系统表在sysobject中都有一个uid=1的条目,该条目引用数据库所有者(即user_name(1)=dbo)。
在大多数环境中,数据库所有者(dbo)通常也拥有数据库中的大多数其他对象(即,大多数sysobjects行的uid=1)。
如果对象的所有者不是dbo,那么sysobjects行的uid=user_id('non_dbo_owner_name');例如,如果bob的数据库用户id(uid)为47,那么bob拥有的任何对象都将具有sysobjects。uid=47。
当您引用一个没有所有者/模式名称的表(例如,select*from tab1
)时,ASE将首先查找您拥有的对象(即,您是否拥有一个名为“tab1”的表),如果找不到这样的表,它将查找dbo拥有的表(即,“dbo.tab1”是否存在?)。
当引用附加了所有者/模式名的表时,ASE将只查找该表的存在。
如果您没有名为“tab1”的表,则以下内容是等效的:
针对更新后的问题:
Sybase/SAP ASE不支持更改对象的所有者。
至于查找表的所有者/架构,您有几个选项:
select u.name as 'owner_name',
o.name as 'table_name'
from sysobjects o,
sysusers u
where o.uid = u.uid
and o.name = '<name_of_table>'
and o.type = 'U'
-- or
select user_name(o.uid) as 'owner_name',
o.name as 'table_name'
from sysobjects o
where o.name = '<name_of_table>'
and o.type = 'U'
我在赛贝斯ASE 15.5中使用赛贝斯Central工具创建了几个表。我已经将列定义为主键(int数据类型),不知何故,该列也变成了标识。 现在,从赛贝斯中心,我无法从该列中删除标识,即使该表或任何引用的表中没有数据。 有人能帮忙吗?我不想使用Set IDENTITY_INSERT,我想从本专栏中完全删除标识行为。 谢啦
如何在Sybase ASE 15表格设置中删除列。 我尝试了一些,但没有用: 以及查看Sybase文档,它没有为我的问题提供解决方案。 数据库my_db未启用选择进入数据库选项。无法执行带有数据副本的ALTER TABLE。设置选择进入数据库选项并重新运行。
我四处搜索,找到了一些有用的程序,例如: 但没人能帮我。我需要获得有关CPU、RAM、OS等的信息。有什么工具或程序可以帮助我吗?
Support for the Sybase database. The following table summarizes current support levels for database release versions. 数据库接口支持 The following dialect/DBAPI options are available. Please refer to individ
似乎 WITH 仅在 Sybase SQL Anywhere 中受支持:http://dcx.sybase.com/1100/en/dbusage_en11/commontblexpr-s-5414852.html …但不在Sybase ASE中:( 有人可以建议Sybase ASE中是否存在等效的构造吗?还有其他方法可以实现东西而不是使用 WITH,但我们计划重新调整一些动态生成的 SQL 的用
赛贝斯16配置hp-Rom8编码(请勿询问)不连接没有指定CHARSET=上的连接字符串,像这样: jdbc:sybase:Tds:10.0.0。X:5000/db_名称?字符集=iso_1 这是因为java不支持hp-roman8。但当我加入JCharset包时,情况就变了。 在包含它(JCharset)之后,jConnect不使用CHARSET=参数进行连接,但字符串无论如何都会出错。 SyB