如何组织SQL脚本文件&文件夹

时间:2010-06-03 07:43:59

标签: sql oracle naming file-organization

我们公司有一个Oracle 10g数据库(一个巨大的数据库),我根据他们的请求向员工提供数据。我的问题是,我几乎保存了我写的每个SQL查询,现在我的列表已经变得太长了。我想组织和重命名这些.sql文件,以便我可以轻松找到我想要的那个。目前,我正在使用一些名为Sales Dept, Field Team, Planning Dept, Special等的文件夹,在这些文件夹下有.sql文件,如

Delivery_sales_1, Delivery_sales_2, ...
Sent_sold_lostsales_endpoints, ...
Sales_provinces_period, Returnrates_regions_bymonths, ...
Jack_1, Steve_1, Steve_2, ...

我尝试命名有关其内容的文件,但这会使文件名更长,并不能完全满足我的需求。有时有人会来并要求提供特殊报告,我会给文件命名,但这也不太好。我知道重复或非常相似的文件正在及时增长,但我无法控制它们。

您能告诉我正确的方向来重命名所有这些文件和文件夹,并组织我的查询以便于更好地控制吗? TIA。

1 个答案:

答案 0 :(得分:4)

文件夹是一种糟糕的方式来编目大量文件,以便您以后可以找到它们。我知道同事们在Outlook中痴迷地创建了数百个文件夹和子文件夹,以对每一封邮件进行分类;他们然后花几分钟打开文件夹后试图记住他们放东西的位置。我,我只是将所有内容保存在收件箱中,然后使用Google桌面搜索找到它们 - 更快!同样,我倾向于将所有临时SQL脚本保存在单个文件夹c:\ sql中,然后使用Google桌面搜索来查找这些脚本。

或者,也许你可以构建一个简单的数据库来保存它们,如下表所示:

create table sql_scripts
  ( id integer primary key -- populated by a trigger
  , sql clob
  , date_created date default sysdate
  , who_for varchar2(30)
  , title varchar2(100)
  , keywords varchar2(100)
  );

然后你可以插入,例如:

insert into sql_scripts
  ( sql
  , who_for varchar2(30)
  , title varchar2(100)
  , keywords varchar2(100)
  ) values
  ( 'select ename from emp where deptno=10'
  , 'Steve Jones'
  , 'List of employees in department 10'
  , 'hr,emp,dept10'
  );

然后你可以用各种方式搜索它,例如

select * from sql_scripts
where upper(who_for) like 'STEVE%'
and upper(sql) like '%DEPTNO%'
and date_created > sysdate-365;