您好,我是小DAI,专注于数据库管理员相关的技术问答,请问有什么可以帮您?

sp_hidetext

语法


sp_hidetext [<objname>[, <tabname>[, <username>]]]

参数

<objname>

指定要隐藏源文本的编译对象。

<tabname>

指定要隐藏源文本的表或视图的名称。

<username>

指定拥有要隐藏其源文本的编译对象的用户名。

示例

示例 1

隐藏当前数据库中所有编译对象的源文本:


sp_hidetext

示例 2

隐藏 Mary 所拥有的用户定义存储过程 sp_sort_table 的源文本:


sp_hidetext @objname = "sp_sort_table", 
    @username = "Mary"

示例 3

隐藏存储过程 pr_phone_list 的源文本:


sp_hidetext "pr_phone_list"

示例 4

隐藏表 my_tab 上定义的所有检查约束、缺省值和触发器的源文本:


sp_hidetext @tabname = "my_tab"

示例 5

隐藏视图 my_vu 的源文本以及隐藏表 my_tab 上定义的所有检查约束、缺省值和触发器的源文本:


sp_hidetext "my_vu", "my_tab"

示例 6

隐藏 Tom 所拥有的所有编译对象的源文本:


sp_hidetext @username = "Tom"

用法

使用 sp_hidetext 时,还存在一些其它注意事项:

  • sp_hidetext 隐藏指定的已编译对象的源文本。

    > 警告

    > 在执行 sp_hidetext 前,应确保具有源文本的备份。执行 sp_hidetext 的结果是不可逆的。

  • 如果未提供任何参数,则 sp_hidetext 隐藏当前数据库中所有编译对象的源文本。

  • 如果文本已经隐藏,sp_helprotect .. expand_predicate 将输出谓词为空。

  • 隐藏的 syscomments.text 对 sp_helprotect 不可用。

  • SAP ASE 服务器允许谓词所有者或 SSO 隐藏谓词文本。隐藏的 syscomments.text 对 sp_helprotect 不可用。必须警告用户,如果文本已经隐藏,sp_helprotect 的 expand_predicate 选项将输出谓词为空。

  • 如果在使用 sp_hidetext 之后执行跨平台的 dump 和 load,则必须手动删除并重新创建所有隐藏对象。