可能是只是比较冷门,没有听说过将column disable掉。
唐山网站制作公司哪家好,找创新互联!从网页设计、网站建设、微信开发、APP开发、响应式网站等网站项目制作,到程序开发,运营维护。创新互联自2013年创立以来到现在10年的时间,我们拥有了丰富的建站经验和运维经验,来保证我们的工作的顺利进行。专注于网站建设就选创新互联。
两种变通的做法:
1、增加列,修改分区表的名称,建立源表相同名称的视图,隐藏掉新增加的列。
2、增加列,set unused。
可以例用Oracle 自带的Wrap工具实现,此工具在$ORACLE_HOME/BIN目录下,具体如下
1、设置字符集环境变量
set NLS_LANG=CHINESE_CHINA.ZHS16GBK
2、创建一个存储过程文件
在E:\下创建test.sql文件,内容如下:
create or replace procedure test1(i in number) as
begin
dbms_output.put_line(' 输入参数是'||to_char(i));
end;
3、加密
c:\ cd %ORACLE_HOME%\BIN
c:\wrap iname=e:\test1.sql
PL/SQL Wrapper: Release 8.1.7.0.0 - Production on Tue Nov 27 22:26:48 2001
Copyright (c) Oracle Corporation 1993, 2000.All Rights Reserved.
Processing test1.sql to test1.plb
4、运行test1.plb
sqlplus /nolog
SQLconn TEST/TEST@db01
SQL @e:\a.plb
过程已创建。
5、运行存储过程
SQL set serveroutput on
SQL execute test1(1);
输入参数是1
PL/SQL 过程已成功完成。
6、查看存储过程的代码
SQL select name,text from all_source where type='PROCEDURE' and name='TEST1';
可以做一个表,将需要屏蔽的name都放到此表中,好处是:不会影响代码。
比如:
test 表
name 列
值有:
甲
乙
select * from tabname a where not exists(select 1 from test b where a.name = b.name)
假设 这些数据对应表 test 中的 name列,可以通过如下语句过滤:
select name from test where name not like '电脑人%';
希望对你有帮助。
你得把表结果说清楚啊。你给的语句一些字段我都不知道是做什么的。怎么回答你的问题呢!