在Microsoft SQL Server(2005,最好是)中是否存在将Oracle设置为未使用的Oracle功能的并行?例如:
ALTER TABLE Person SET UNUSED Nickname;
搜索中没有任何内容,所以我的想法是此功能必须是Oracle特定的。
答案 0 :(得分:2)
不要认为在SQL服务器中有类似的东西。
您可以为包含隐藏列的新表创建1:1关系:
insert into NewTable
select (keycol, Nickname) from ExistingTable
alter table ExistingTable drop column Nickname
这样你仍然拥有数据,但是列在一个没人知道的表中。
或者,您可以使用列级权限:
DENY SELECT (Nickname) ON ExistingTable TO domain\user
DENY SELECT (Nickname) ON ExistingTable TO public
...
当有人试图读取列时,这将返回错误。这种方法的最大缺点是select *
也会失败。
答案 1 :(得分:1)
没有等效的声明,但根据您的需要,您可能会编写一个触发器来回滚任何更改。