Alias Sybase表的多个别名?

Alias Sybase表的多个别名?,alias,sybase,Alias,Sybase,我在一个团队中工作,试图逐步淘汰遗留系统。由于这是一个具有多个集成的相当大的系统,因此即使在替换了遗留系统之后,数据库仍将继续存在 现在,问题是数据库中的所有表名都有数字名称:“RT001”、“RT002”、“RT003”等。对于超过100个表,很难知道每个表是什么,以及如何连接以获取特定数据 有没有办法在sybase中定义全局表别名,以便sybase知道SQL“select*from Order,OrderItems where…”指的是表RT035和RT036?这样,我可以将原始表名保留为R

我在一个团队中工作,试图逐步淘汰遗留系统。由于这是一个具有多个集成的相当大的系统,因此即使在替换了遗留系统之后,数据库仍将继续存在

现在,问题是数据库中的所有表名都有数字名称:“RT001”、“RT002”、“RT003”等。对于超过100个表,很难知道每个表是什么,以及如何连接以获取特定数据


有没有办法在sybase中定义全局表别名,以便sybase知道SQL“select*from Order,OrderItems where…”指的是表RT035和RT036?这样,我可以将原始表名保留为RT035,同时使用别名“Order”,甚至“RT035_Order”来引用它

据我所知,Sybase ASE中没有“同义词”(在Oracle数据库中就是这样称呼的)。但您仍然可以使用simple view执行基本相同的操作:

CREATE VIEW Order AS SELECT * FROM RT035;

然后,该视图是否会随创建该视图的表上发生的任何更改而更新?我之所以这样问,是因为在创建视图时,select中的*似乎被替换为RT035表中当前的列名。不完全是这样。视图将使用“选择*自…”。但是,如果修改任何表列,视图将不会在不进行额外工作的情况下重新选择这些更改。看一看存储过程“sp_refreshview”,它应该可以完成这项工作。无论何时修改表,都必须调用该函数。