选择Database->Edit current database,选择Script->Object->Index,发现有一项EnableAscDesc,它的comment为“ASC, DESC keywords allowed”,可以看到右边的values值为“NO”,表示不允许在脚本中使用ASC,DESC关键字。在这里我们将它改为Yes,点击确定。在弹出的确认对话框中点击确认。
这时我们再次进入刚才的窗口中,可以看到Sort列,也可以选择ascending和descending,读者不要以为我们已经大功告成了,虽然这里可以定义升降序,但当我们点击priview之后却会惊奇的发现生成的代码根本没有asc或者desc关键字,也就是说这里的修改在生成的代码中将不反映出来。
显然,问题处在“生成”二字上,我们查看index下的Create项,代码模板如下:
========================================================================
create [%UNIQUE%] [%CLUSTER%?clustered:[%R%?[nonclustered]]] index %INDEX% on [%QUALIFIER%]%TABLE% (
%CIDXLIST%
)[%OPTIONS%]
========================================================================
可以推断出%CIDXLIST%为索引包含的列的列表,而desc和asc关键字是针对某个具体列的,所以应该在具体列的定义中来修改。在index的create项上方有一个AddColIndex项,它的comment为“Command for defining an index column”,可得知这就是我们需要修改的脚本,它comment为“Command for defining an index column”,可得知这就是我们需要修改的脚本,它的代码只有%COLUMN%。所以我们要做的事情就是修改这段代码使得在%COLUMN%后面加上升降序的关键字%ASC%是表明索引中列的升降序的变量,因此我们将index对象中的AddColIndex项的value改为:%COLUMN% %ASC%,这时候再设置索引中列的升降序即可在脚本中得到反映,如下列脚本:create index STU_NAME_IDX on student (name DESC)
阅读(3864) | 评论(0) | 转发(0) |