<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Sybase数据库技术，数据库恢复专家 &#187; DDL</title>
	<atom:link href="http://www.dbainfo.net/tag/ddl/feed" rel="self" type="application/rss+xml" />
	<link>https://www.dbainfo.net</link>
	<description>提供Sybase ASE及Sybase SQL Anywhere数据库修复服务，电话：13811580958(微信)，QQ：289965371！We have many years of experience in recovering data from damanged Sybase devices. Contact us by Phone: +86 13811580958 Wechat: 13811580958 Email: 289965371@qq.com</description>
	<lastBuildDate>Sat, 14 Jun 2025 16:28:02 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>调整新添加的列在表中的位置,调整数据库表中列的位置</title>
		<link>https://www.dbainfo.net/sybase-ase-table-newcolumn-place.htm</link>
		<comments>https://www.dbainfo.net/sybase-ase-table-newcolumn-place.htm#comments</comments>
		<pubDate>Tue, 24 Aug 2010 06:35:52 +0000</pubDate>
		<dc:creator>dbainfo</dc:creator>
				<category><![CDATA[Sybase ASE]]></category>
		<category><![CDATA[DDL]]></category>
		<category><![CDATA[列顺序]]></category>

		<guid isPermaLink="false">http://www.dbainfo.net/?p=222</guid>
		<description><![CDATA[在Sybase中，表内新添加的列都位于表的最后。其它数据库也基本相同，这和数据库的内部物理存储是有必然关系的。我研究过sybase 中数据的物理存储结构，理解在sybase以及其它数据库中新增加的列必须放置在最后的原因。 在项目实践中，可能有这样的需求：需要将最后添加的一列放置到前面的位置。比如：表test中原来的列为：a,b,c，不想让最后添加的列d放在第四个位置，而让列d放在第2个位置，形成：a,d,b,c这样的顺序。如何实现呢？ 一般的办法是： 1.新建一个临时表：test_bak, create table test_bak ( a 列属性, d 列属性, b 列属性, c 列属性 ) &#160; 2.将原表test的数据拷贝到临时表test_bak中 insert into test_bak(a,d,b,c) select a,d,b,c from test &#160; 3.将原表删除，临时表改名为原表的名字 drop table test sp_rename test_bak,test &#160; 以上是常规的办法。如果表内的数据量很大的时候，则会比较耗费时间。 下面我介绍另外一个比较简便的方法。 主要思路是调整表在syscolumns中对应的colid的值。 先建立一个新的测试表test 1&#62; drop table test 2&#62; go 1&#62; create table test(id int not null,name varchar(30) null,age tinyint [...]]]></description>
			<content:encoded><![CDATA[<p>在Sybase中，表内新添加的列都位于表的最后。其它数据库也基本相同，这和数据库的内部物理存储是有必然关系的。我研究过sybase 中数据的物理存储结构，理解在sybase以及其它数据库中新增加的列必须放置在最后的原因。 在项目实践中，可能有这样的需求：需要将最后添加的一列放置到前面的位置。比如：表test中原来的列为：a,b,c，不想让最后添加的列d放在第四个位置，而让列d放在第2个位置，形成：a,d,b,c这样的顺序。如何实现呢？ 一般的办法是： 1.新建一个临时表：test_bak,</p>
<blockquote>
<p>create table test_bak ( a 列属性,</p>
<p>		d 列属性,</p>
<p>		b 列属性,</p>
<p>		c 列属性</p>
<p>		)<br />
		&nbsp;</p>
</blockquote>
<p>2.将原表test的数据拷贝到临时表test_bak中</p>
<blockquote>
<p>insert into test_bak(a,d,b,c)</p>
<p>		select a,d,b,c from test<br />
		&nbsp;</p>
</blockquote>
<p>3.将原表删除，临时表改名为原表的名字</p>
<blockquote>
<p>drop table test</p>
<p>		sp_rename test_bak,test<br />
		&nbsp;</p>
</blockquote>
<p>以上是常规的办法。如果表内的数据量很大的时候，则会比较耗费时间。 下面我介绍另外一个比较简便的方法。</p>
<p><strong>主要思路是调整表在syscolumns中对应的colid的值。</strong></p>
<p>先建立一个新的测试表test</p>
<blockquote>
<p>1&gt; drop table test</p>
<p>2&gt; go</p>
<p>1&gt; create table test(id int not null,name varchar(30) null,age tinyint not null, se_x char(1) not null,birthday datetime null)</p>
<p>2&gt; go</p>
<p>1&gt; select *&nbsp;&nbsp;from test<br />
		2&gt; go<br />
		id&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp; name&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;age se_x birthday<br />
		----------- ------------------------------ --- --- --------------------------</p>
<p>		(0 rows affected)</p>
</blockquote>
<blockquote>
<p><strong>插入一条测试数据</strong></p>
<p>		1&gt; insert into test<br />
		2&gt; values(1,&#39;andkylee&#39;,28,&#39;F&#39;,&#39;1982-03-20 12:00:00&#39;)<br />
		3&gt; go<br />
		(1 row affected)<br />
		1&gt; select *&nbsp;&nbsp;from test<br />
		2&gt; go<br />
		id&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp; name&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;age se_x birthday<br />
		----------- ------------------------------ --- --- --------------------------<br />
		&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;1 andkylee&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;28 F&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp; Mar 20 1982 12:00PM<br />
		(1 row affected)</p>
</blockquote>
<p>
	<strong>调整各个的顺序，使之倒序。将原来的id,name,age,se_x,birthday改成：birthday,se_x,age,name,id<br />
	<font color="red">调整方法：修改syscolumns表中测试表test的各个列的colid的顺序。</font></strong></p>
<blockquote>
<p>1&gt; select *&nbsp;&nbsp;from test<br />
		2&gt; go<br />
		birthday&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp; se_x age name&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;id<br />
		-------------------------- --- --- ------------------------------ -----------<br />
		&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;Mar 20 1982 12:00PM F&nbsp; &nbsp; 28 andkylee&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;1</p>
<p>		(1 row affected)</p>
</blockquote>
<p>	<strong>列的顺序逆序后，显示插入数据。</strong><br />
	&nbsp;</p>
<blockquote>
<p>1&gt; insert into test(id,name,age,se_x,birthday)<br />
		2&gt; values(2,&#39;liu&#39;,30,&#39;M&#39;,&#39;2000-01-01 11:59:59&#39;)<br />
		3&gt; go<br />
		(1 row affected)<br />
		1&gt; select * from test<br />
		2&gt; go<br />
		birthday&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp; se_x age name&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;id<br />
		-------------------------- --- --- ------------------------------ -----------<br />
		&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;Mar 20 1982 12:00PM F&nbsp; &nbsp; 28 andkylee&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;1<br />
		&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;Jan&nbsp;&nbsp;1 2000 11:59AM M&nbsp; &nbsp; 30 liu&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;2</p>
<p>		(2 rows affected)</p>
</blockquote>
<p>
	<strong>如果按照调整数据之前的列的顺序插入数据，则会报错。</strong></p>
<blockquote>
<p>1&gt; insert into test<br />
		2&gt; values(3,&#39;zhang&#39;,29,&#39;F&#39;,&#39;1980-01-01 11:59:59&#39;)<br />
		3&gt; go</p>
</blockquote>
<p>
	Msg 206, Level 16, State 2:<br />
	Server &#39;SYB_NFJD_TEST&#39;, Line 1:<br />
	Operand type clash: INT is incompatible with DATETIME<br />
	Msg 257, Level 16, State 1:<br />
	Server &#39;SYB_NFJD_TEST&#39;, Line 1:<br />
	Implicit conversion from datatype &#39;VARCHAR&#39; to &#39;INT&#39; is not allowed.&nbsp;&nbsp;Use the<br />
	CONVERT function to run this query.</p>
<p>
	<strong>新的数据要按照修改后的列的顺序插入。</strong></p>
<blockquote>
<p>1&gt; insert into test<br />
		2&gt; values(&#39;1980-01-01 11:59:59&#39;,&#39;F&#39;,29,&#39;zhang&#39;,3)<br />
		3&gt; go<br />
		(1 row affected)</p>
</blockquote>
<p>	<strong>最后，查看测试表的数据。</strong></p>
<blockquote>
<p>1&gt; select * from test<br />
		2&gt; go<br />
		birthday&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp; se_x age name&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;id<br />
		-------------------------- --- --- ------------------------------ -----------<br />
		&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;Mar 20 1982 12:00PM F&nbsp; &nbsp; 28 andkylee&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;1<br />
		&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;Jan&nbsp;&nbsp;1 2000 11:59AM M&nbsp; &nbsp; 30 liu&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;2<br />
		&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;Jan&nbsp;&nbsp;1 1980 11:59AM F&nbsp; &nbsp; 29 zhang&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;3</p>
<p>		(3 rows affected)</p>
</blockquote>
<p>	<strong>备注:绝大多数sybase客户端工具显示表的列时都是按照colid的顺序显示的。所以，此种方法能够实现调整数据库表中列的位置的功能。</strong></p>
<p>&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;<br />
	&mdash;&mdash;&mdash; 本文为andkylee个人原创，请在尊重作者劳动成果的前提下进行转载；<br />
	&mdash;&mdash;&mdash; 转载务必注明原始出处 : <a href="https://www.dbainfo.net/"><font color="#f26522">http://www.dbainfo.net</font></a><br />
	&mdash;&mdash;&mdash; 关键字： 列显示顺序 syscolumns colid<br />
	&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;</p>
<div style="clear: both; margin: 10px 0pt; border: 1px dashed rgb(153, 153, 153); font-size: 12px; padding: 5px 10px;">
<li>本文链接地址：<a href="https://www.dbainfo.net/sybase-ase-table-newcolumn-place.htm">https://www.dbainfo.net/sybase-ase-table-newcolumn-place.htm</a>；</li>
<li>本文为dbainfo个人原创，请在尊重作者劳动成果的前提下进行转载；</li>
<li>转载务必注明原始出处 : <a href="https://www.dbainfo.net/">Sybase数据库技术，数据库恢复专家</a>；</li>
<li>对《<a href="https://www.dbainfo.net/sybase-ase-table-newcolumn-place.htm">调整新添加的列在表中的位置,调整数据库表中列的位置</a>》有何疑问或见解，请在本文下方发表；</li>
<li>对网站还有其他问题或建议，请提交在<a href="https://www.dbainfo.net/messages" target="_blank">留言板</a>，谢谢！</li>
</div>
<h2  class="related_post_title">相关文章</h2><ul class="related_post"><li>2010-06-01 -- <a href="https://www.dbainfo.net/sybase-ase-get-object-ddl-with-ddlgen.htm" title="用DDLGEN从ASE数据库中提取对象的定义语法">用DDLGEN从ASE数据库中提取对象的定义语法</a> (0)</li></ul>]]></content:encoded>
			<wfw:commentRss>https://www.dbainfo.net/sybase-ase-table-newcolumn-place.htm/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>用DDLGEN从ASE数据库中提取对象的定义语法</title>
		<link>https://www.dbainfo.net/sybase-ase-get-object-ddl-with-ddlgen.htm</link>
		<comments>https://www.dbainfo.net/sybase-ase-get-object-ddl-with-ddlgen.htm#comments</comments>
		<pubDate>Mon, 31 May 2010 16:56:59 +0000</pubDate>
		<dc:creator>dbainfo</dc:creator>
				<category><![CDATA[Sybase ASE]]></category>
		<category><![CDATA[DDL]]></category>
		<category><![CDATA[ddlgen]]></category>

		<guid isPermaLink="false">http://www.dbainfo.net/?p=762</guid>
		<description><![CDATA[在论坛中看到有人寻找从sybase数据 库中提取表结构的方法。用 dbartisan8.6.1这个第三方工具可以很轻松的实现，我自己也用pb编写过函数能够提取表结构和索引创建语法。 像sybase自带的sybase central也能从中导出ddl。我感觉从sybase central中导出语法时可能利用的就是ddlgen这个工具，原因我认为sybase central和ddlgen都基于java 编写。 先将整理的ddlgen说明以及使用方法贴在下面。 ddlgen Description A Java-based tool that generates definitions for server- and database-level objects in Adaptive Server. ddlgen supports Adaptive Server version 11.9.2 and later. The command-line version of ddlgen is located in $SYBASE/ASEP/bin ( %SYBASE%\ASEP\bin in Windows ). Syntax ddlgen -Ulogin -Ppassword -S[server &#124; host_name : [...]]]></description>
			<content:encoded><![CDATA[<p>在论坛中看到有人寻找从sybase<span class="t_tag">数据</span> 库中提取表结构的方法。用 dbartisan8.6.1这个第三方工具可以很轻松的实现，我自己也用pb编写过函数能够提取表结构和索引创建语法。<br />
	像sybase自带的sybase central也能从中导出ddl。我感觉从sybase central中导出语法时可能利用的就是ddlgen这个工具，原因我认为sybase central和ddlgen都基于<span class="t_tag">java</span> 编写。<br />
	先将整理的ddlgen说明以及使用方法贴在下面。</p>
<p align="left"><span style="font-size: small;"><span style="font-size: x-large;"><strong><span style="color: rgb(0, 0, 208);">ddlgen</span> </strong> </span> </span></p>
<p align="left"><span style="font-size: 16px;"><strong>Description </strong> </span></p>
<p align="left"><span style="font-size: 9.5pt;">A Java-ba<span class="t_tag">sed</span> tool that generates definitions for server- and database-level objects in Adaptive Server. </span> <strong><span style="font-size: 9.5pt;">ddlgen</span> </strong> <span style="font-size: 9.5pt;"> supports Adaptive Server <span style="color: red;">version 11.9.2 and later.</span> </span></p>
<p align="left"><span style="font-size: 9.5pt;">The command-line version of </span> <strong><span style="font-size: 9.5pt;">ddlgen</span> </strong> <span style="font-size: 9.5pt;"> is located in </span> <em><span style="font-size: 9.5pt;">$SYBASE/ASEP/bin</span> </em> <span style="font-size: 9.5pt;"> (</span> <em><span style="font-size: 9.5pt;">%SYBASE%\ASEP\bin</span> </em> <span style="font-size: 9.5pt;"> in <span class="t_tag">Windows</span> ).</span></p>
<p align="left"><strong><span style="font-size: 8.5pt;">Syntax</span> </strong></p>
<blockquote>
<p align="left"><span style="font-size: 8.5pt;">ddlgen</p>
<p>		-Ulogin</p>
<p>		-Ppassword</p>
<p>		-S[server | host_name : port_number ]</p>
<p>		[-I interfaces_file ]</p>
<p>		[-Tobject_type ]</p>
<p>		[-Nobject_name ]</p>
<p>		[-Ddbname ]</p>
<p>		[-Xextended_object_type ]</p>
<p>		[-Ooutput_file ]</p>
<p>		[-Eerror_file ]</p>
<p>		[-Lprogress_log_file ]</p>
<p>		[-Jclient_charset ]</p>
<p>		-F[ % | SGM | GRP | USR | R | D | UDD | U | V |<br />
		P | XP | I | RI | KC | TR | PC ]</p>
<p>		</span></p>
</blockquote>
<p align="left"><span style="font-size: 16px;"><strong>Parameters </strong> </span></p>
<p align="left"><strong><span style="font-size: 9.5pt;">-U <em>login</em> </span> </strong> <span style="font-size: 9.5pt;"> </span></p>
<p align="left"><span style="font-size: 9.5pt;">specifies a login name, and is case-sensitive.</span></p>
<p align="left"><strong><span style="font-size: 9.5pt;">-P <em>password</em> </span> </strong> <span style="font-size: 9.5pt;"> </span></p>
<p align="left"><span style="font-size: 9.5pt;">specifies your password.</span></p>
<p align="left"><strong><span style="font-size: 9.5pt;">-S [<em>server</em> | <em>host</em> </span> </strong> <strong><em><span style="font-size: 9.5pt;">_</span> </em> </strong> <strong><em><span style="font-size: 9.5pt;">name </span> </em> </strong> <strong><span style="font-size: 9.5pt;">: <em>port</em> </span> </strong> <strong><em><span style="font-size: 9.5pt;">_</span> </em> </strong> <strong><em><span style="font-size: 9.5pt;">number</span> </em> </strong> <strong><span style="font-size: 9.5pt;">]</span> </strong> <span style="font-size: 9.5pt;"> </span></p>
<p align="left"><span style="font-size: 9.5pt;">specifies the name of the Adaptive Server. </span> <strong><span style="font-size: 9.5pt;">ddlgen</span> </strong> <span style="font-size: 9.5pt;"> looks this name up in the interfaces file or </span> <span style="font-size: 9.5pt;">LDAP</span> <span style="font-size: 9.5pt;"> configuration file. If you specify:</span></p>
<p align="left"><span style="font-family: Symbol;"><span style="font-size: 10pt;">&middot;<br />
	</span> </span> <strong><span style="font-size: 9.5pt;">-S [<em>host</em> </span> </strong> <strong><em><span style="font-size: 9.5pt;">_</span> </em> </strong> <strong><em><span style="font-size: 9.5pt;">name</span> </em> </strong> <strong><span style="font-size: 9.5pt;">:<em>port</em> </span> </strong> <strong><em><span style="font-size: 9.5pt;">_</span> </em> </strong> <strong><em><span style="font-size: 9.5pt;">number</span> </em> </strong> <strong><span style="font-size: 9.5pt;">] &ndash;</span> </strong> <br />
	<strong><span style="font-size: 9.5pt;">ddlgen</span> </strong> <span style="font-size: 9.5pt;"> uses the <em>host</em> </span> <em><span style="font-size: 9.5pt;">_</span> </em> <em><span style="font-size: 9.5pt;">name</span> </em> <span style="font-size: 9.5pt;"> and <em>port</em> </span> <em><span style="font-size: 9.5pt;">_</span> </em> <em><span style="font-size: 9.5pt;">number</span> </em> <span style="font-size: 9.5pt;"> provided, and neither interfaces nor </span> <span style="font-size: 9.5pt;">LDAP</span> <span style="font-size: 9.5pt;"> configuration files are read or parsed.</span></p>
<p align="left"><span style="font-family: Symbol;"><span style="font-size: 10pt;">&middot;<br />
	</span> </span> <strong><span style="font-size: 9.5pt;">-S[<em>server</em> ] -I</span> </strong> <span style="font-size: 9.5pt;"> &ndash; </span> <strong><span style="font-size: 9.5pt;">ddlgen</span> </strong> <span style="font-size: 9.5pt;"> parses the interfaces file specified at the user location for the server name (see the <strong>-I</strong> parameter description for more information).</span></p>
<p align="left"><span style="font-family: Symbol;"><span style="font-size: 10pt;">&middot;<br />
	</span> </span> <strong><span style="font-size: 9.5pt;">-S[<em>server</em> ]</span> </strong> <span style="font-size: 9.5pt;"> &ndash; without specifying an interfaces file, </span> <strong><span style="font-size: 9.5pt;">ddlgen</span> </strong> <span style="font-size: 9.5pt;"> does the following:</span></p>
<p align="left"><span style="font-size: 9.5pt;">a.<br />
	</span> <strong><span style="font-size: 9.5pt;">ddlgen</span> </strong> <span style="font-size: 9.5pt;"> first tries to read the </span> <span style="font-size: 9.5pt;">LDAP</span> <span style="font-size: 9.5pt;"> configuration file from the standard location</span></p>
<p align="left"><span style="font-size: 9.5pt;">b.<br />
	</span> <span style="font-size: 9.5pt;">If the </span> <span style="font-size: 9.5pt;">LDAP</span> <span style="font-size: 9.5pt;"> file does not exist, or exists but does not contain an Adaptive Server entry, then the interfaces file is parsed at its standard location for the server name</span></p>
<p align="left"><span style="font-size: 9.5pt;">c.<br />
	</span> <span style="font-size: 9.5pt;">If the </span> <span style="font-size: 9.5pt;">LDAP</span> <span style="font-size: 9.5pt;"> file exists, then </span> <strong><span style="font-size: 9.5pt;">ddlgen</span> </strong> <span style="font-size: 9.5pt;"> uses it to search the server name. The interfaces file is not parsed, and the </span> <span style="font-size: 9.5pt;">LDAP</span> <span style="font-size: 9.5pt;"> configuration file is parsed.</span></p>
<p align="left"><span style="font-size: 9.5pt;">You must use the <strong>-S</strong> option because </span> <strong><span style="font-size: 9.5pt;">ddlgen</span> </strong> <span style="font-size: 9.5pt;"> does not connect to a default server.</span></p>
<p align="left"><strong><span style="font-size: 9.5pt;">-I</span> </strong> <span style="font-size: 9.5pt;"> </span></p>
<p align="left"><span style="font-size: 9.5pt;">specifies the interfaces file name, and corresponds to </span> <em><span style="font-size: 9.5pt;">$SYBASE/interfaces</span> </em> <span style="font-size: 9.5pt;"> for </span> <span style="font-size: 9.5pt;">UNIX</span> <span style="font-size: 9.5pt;">, and </span> <em><span style="font-size: 9.5pt;">%SYBASE%\ini\sql.ini</span> </em> <span style="font-size: 9.5pt;"> for Windows. Use this optional parameter with <strong>-S</strong> .</span></p>
<p align="left"><strong><span style="font-size: 9.5pt;">-T<em>object</em> </span> </strong> <strong><em><span style="font-size: 9.5pt;">_</span> </em> </strong> <strong><em><span style="font-size: 9.5pt;">type</span> </em> </strong> <span style="font-size: 9.5pt;"> </span></p>
<p align="left"><span style="font-size: 9.5pt;">specifies the type of object you are creating. If you do not use <strong>-T</strong> , </span> <strong><span style="font-size: 9.5pt;">ddlgen</span> </strong> <span style="font-size: 9.5pt;"> generates DDL for the default database of login. The object types for <strong>-T</strong> are:</span></p>
<blockquote>
<p>&nbsp;</p>
<table border="0" cellpadding="0" cellspacing="0" width="337">
<tbody>
<tr height="18" style="height: 13.5pt;">
<td class="xl63" height="18" style="height: 13.5pt; width: 83pt;" width="111"><strong>Object type<span style="">&nbsp;</span></strong></td>
<td class="xl63" style="border-left: medium none; width: 170pt;" width="226"><strong>Description<span style="">&nbsp;</span></strong></td>
</tr>
<tr height="18" style="height: 13.5pt;">
<td class="xl63" height="18" style="height: 13.5pt; border-top: medium none;">C<span style="">&nbsp;</span></td>
<td class="xl63" style="border-top: medium none; border-left: medium none;">cache</td>
</tr>
<tr height="18" style="height: 13.5pt;">
<td class="xl63" height="18" style="height: 13.5pt; border-top: medium none;">D<span style="">&nbsp;</span></td>
<td class="xl63" style="border-top: medium none; border-left: medium none;">default</td>
</tr>
<tr height="18" style="height: 13.5pt;">
<td class="xl63" height="18" style="height: 13.5pt; border-top: medium none;">DB<span style="">&nbsp;</span></td>
<td class="xl63" style="border-top: medium none; border-left: medium none;">database</td>
</tr>
<tr height="18" style="height: 13.5pt;">
<td class="xl63" height="18" style="height: 13.5pt; border-top: medium none;">DBD<span style="">&nbsp;</span></td>
<td class="xl63" style="border-top: medium none; border-left: medium none;">database device</td>
</tr>
<tr height="18" style="height: 13.5pt;">
<td class="xl63" height="18" style="height: 13.5pt; border-top: medium none;">DPD<span style="">&nbsp;</span></td>
<td class="xl63" style="border-top: medium none; border-left: medium none;">dump device</td>
</tr>
<tr height="18" style="height: 13.5pt;">
<td class="xl63" height="18" style="height: 13.5pt; border-top: medium none;">EC<span style="">&nbsp;</span></td>
<td class="xl63" style="border-top: medium none; border-left: medium none;">execution class</td>
</tr>
<tr height="18" style="height: 13.5pt;">
<td class="xl63" height="18" style="height: 13.5pt; border-top: medium none;">EG<span style="">&nbsp;</span></td>
<td class="xl63" style="border-top: medium none; border-left: medium none;">engine group</td>
</tr>
<tr height="18" style="height: 13.5pt;">
<td class="xl63" height="18" style="height: 13.5pt; border-top: medium none;">EK<span style="">&nbsp;</span></td>
<td class="xl63" style="border-top: medium none; border-left: medium none;">encrypted keys</td>
</tr>
<tr height="18" style="height: 13.5pt;">
<td class="xl63" height="18" style="height: 13.5pt; border-top: medium none;">GRP<span style="">&nbsp;</span></td>
<td class="xl63" style="border-top: medium none; border-left: medium none;">group</td>
</tr>
<tr height="18" style="height: 13.5pt;">
<td class="xl63" height="18" style="height: 13.5pt; border-top: medium none;">I<span style="">&nbsp;</span></td>
<td class="xl63" style="border-top: medium none; border-left: medium none;">index</td>
</tr>
<tr height="18" style="height: 13.5pt;">
<td class="xl63" height="18" style="height: 13.5pt; border-top: medium none;">KC<span style="">&nbsp;</span></td>
<td class="xl63" style="border-top: medium none; border-left: medium none;">key constraints</td>
</tr>
<tr height="18" style="height: 13.5pt;">
<td class="xl63" height="18" style="height: 13.5pt; border-top: medium none;">L<span style="">&nbsp;</span></td>
<td class="xl63" style="border-top: medium none; border-left: medium none;">login</td>
</tr>
<tr height="18" style="height: 13.5pt;">
<td class="xl63" height="18" style="height: 13.5pt; border-top: medium none;">LK<span style="">&nbsp;</span></td>
<td class="xl63" style="border-top: medium none; border-left: medium none;">logical key</td>
</tr>
<tr height="18" style="height: 13.5pt;">
<td class="xl63" height="18" style="height: 13.5pt; border-top: medium none;">P<span style="">&nbsp;</span></td>
<td class="xl63" style="border-top: medium none; border-left: medium none;">stored procedure</td>
</tr>
<tr height="18" style="height: 13.5pt;">
<td class="xl63" height="18" style="height: 13.5pt; border-top: medium none;">R<span style="">&nbsp;</span></td>
<td class="xl63" style="border-top: medium none; border-left: medium none;">rule</td>
</tr>
<tr height="18" style="height: 13.5pt;">
<td class="xl63" height="18" style="height: 13.5pt; border-top: medium none;">RI<span style="">&nbsp;</span></td>
<td class="xl63" style="border-top: medium none; border-left: medium none;">referential integrity</td>
</tr>
<tr height="18" style="height: 13.5pt;">
<td class="xl63" height="18" style="height: 13.5pt; border-top: medium none;">RO<span style="">&nbsp;</span></td>
<td class="xl63" style="border-top: medium none; border-left: medium none;">role</td>
</tr>
<tr height="18" style="height: 13.5pt;">
<td class="xl63" height="18" style="height: 13.5pt; border-top: medium none;">RS<span style="">&nbsp;</span></td>
<td class="xl63" style="border-top: medium none; border-left: medium none;">remote server</td>
</tr>
<tr height="18" style="height: 13.5pt;">
<td class="xl63" height="18" style="height: 13.5pt; border-top: medium none;">SGM<span style="">&nbsp;</span></td>
<td class="xl63" style="border-top: medium none; border-left: medium none;">segment</td>
</tr>
<tr height="18" style="height: 13.5pt;">
<td class="xl63" height="18" style="height: 13.5pt; border-top: medium none;">TR<span style="">&nbsp;</span></td>
<td class="xl63" style="border-top: medium none; border-left: medium none;">trigger</td>
</tr>
<tr height="18" style="height: 13.5pt;">
<td class="xl63" height="18" style="height: 13.5pt; border-top: medium none;">U<span style="">&nbsp;</span></td>
<td class="xl63" style="border-top: medium none; border-left: medium none;">table</td>
</tr>
<tr height="18" style="height: 13.5pt;">
<td class="xl63" height="18" style="height: 13.5pt; border-top: medium none;">UDD<span style="">&nbsp;</span></td>
<td class="xl63" style="border-top: medium none; border-left: medium none;">user-defined datatype</td>
</tr>
<tr height="18" style="height: 13.5pt;">
<td class="xl63" height="18" style="height: 13.5pt; border-top: medium none;">USR<span style="">&nbsp;</span></td>
<td class="xl63" style="border-top: medium none; border-left: medium none;">user</td>
</tr>
<tr height="18" style="height: 13.5pt;">
<td class="xl63" height="18" style="height: 13.5pt; border-top: medium none;">V<span style="">&nbsp;</span></td>
<td class="xl63" style="border-top: medium none; border-left: medium none;">view</td>
</tr>
<tr height="18" style="height: 13.5pt;">
<td class="xl63" height="18" style="height: 13.5pt; border-top: medium none;">WS<span style="">&nbsp;</span></td>
<td class="xl63" style="border-top: medium none; border-left: medium none;">user-defined Web service</td>
</tr>
<tr height="18" style="height: 13.5pt;">
<td class="xl63" height="18" style="height: 13.5pt; border-top: medium none;">WSC<span style="">&nbsp;</span></td>
<td class="xl63" style="border-top: medium none; border-left: medium none;">Web service consumer</td>
</tr>
<tr height="18" style="height: 13.5pt;">
<td class="xl63" height="18" style="height: 13.5pt; border-top: medium none;">XP<span style="">&nbsp;</span></td>
<td class="xl63" style="border-top: medium none; border-left: medium none;">extended stored procedure</td>
</tr>
</tbody>
</table>
</blockquote>
<p align="left">&nbsp;</p>
<p align="left"><strong><span style="font-size: 9.5pt;">-N<em>object</em> </span> </strong> <strong><em><span style="font-size: 9.5pt;">_</span> </em> </strong> <strong><em><span style="font-size: 9.5pt;">name</span> </em> </strong> <span style="font-size: 9.5pt;"> </span></p>
<p align="left"><span style="font-size: 9.5pt;">specifies the fully qualified name of the object you are creating, such as <strong>-N<em>db</em> </strong> </span> <strong><em><span style="font-size: 9.5pt;">_</span> </em> </strong> <strong><em><span style="font-size: 9.5pt;">name</span> </em> </strong> <strong><span style="font-size: 9.5pt;">.<em>owner</em> </span> </strong> <strong><em><span style="font-size: 9.5pt;">_</span> </em> </strong> <strong><em><span style="font-size: 9.5pt;">name</span> </em> </strong> <strong><span style="font-size: 9.5pt;">.<em>table</em> </span> </strong> <strong><em><span style="font-size: 9.5pt;">_</span> </em> </strong> <strong><em><span style="font-size: 9.5pt;">name</span> </em> </strong> <strong><span style="font-size: 9.5pt;">.<em>object</em> </span> </strong> <strong><em><span style="font-size: 9.5pt;">_</span> </em> </strong> <strong><em><span style="font-size: 9.5pt;">name</span> </em> </strong> <span style="font-size: 9.5pt;">. The <strong>-N</strong> option:</span></p>
<p align="left"><span style="font-family: Symbol;"><span style="font-size: 10pt;">&middot;<br />
	</span> </span> <span style="font-size: 9.5pt;">is required if you specify any <em>object</em> </span> <em><span style="font-size: 9.5pt;">_</span> </em> <em><span style="font-size: 9.5pt;">type</span> </em> <span style="font-size: 9.5pt;"> other than <em>DB</em> (database) in the <strong>-T</strong> parameter.</span></p>
<p align="left"><span style="font-family: Symbol;"><span style="font-size: 10pt;">&middot;<br />
	</span> </span> <span style="font-size: 9.5pt;">accepts wildcards with the use of <strong>%</strong> .</span></p>
<p align="left"><span style="font-family: Symbol;"><span style="font-size: 10pt;">&middot;<br />
	</span> </span> <span style="font-size: 9.5pt;">generates DDL for all items of a specific object type on your server.</span></p>
<p align="left"><span style="font-family: Symbol;"><span style="font-size: 10pt;">&middot;<br />
	</span> </span> <span style="font-size: 9.5pt;">enforces strict order in which it parses the names in the <strong>-N<em>db</em> </strong> </span> <strong><em><span style="font-size: 9.5pt;">_</span> </em> </strong> <strong><em><span style="font-size: 9.5pt;">name</span> </em> </strong> <strong><span style="font-size: 9.5pt;">.<em>owner</em> </span> </strong> <strong><em><span style="font-size: 9.5pt;">_</span> </em> </strong> <strong><em><span style="font-size: 9.5pt;">name</span> </em> </strong> <strong><span style="font-size: 9.5pt;">.<em>table</em> </span> </strong> <strong><em><span style="font-size: 9.5pt;">_</span> </em> </strong> <strong><em><span style="font-size: 9.5pt;">name</span> </em> </strong> <strong><span style="font-size: 9.5pt;">.<em>object</em> </span> </strong> <strong><em><span style="font-size: 9.5pt;">_</span> </em> </strong> <strong><em><span style="font-size: 9.5pt;">name</span> </em> </strong> <span style="font-size: 9.5pt;"> format. If you only provide three arguments, </span> <strong><span style="font-size: 9.5pt;">ddlgen</span> </strong> <span style="font-size: 9.5pt;"> assumes they are <em>owner</em> </span> <em><span style="font-size: 9.5pt;">_</span> </em> <em><span style="font-size: 9.5pt;">name</span> </em> <span style="font-size: 9.5pt;">, <em>table</em> </span> <em><span style="font-size: 9.5pt;">_</span> </em> <em><span style="font-size: 9.5pt;">name</span> </em> <span style="font-size: 9.5pt;">, and <em>object</em> </span> <em><span style="font-size: 9.5pt;">_</span> </em> <em><span style="font-size: 9.5pt;">name</span> </em> <span style="font-size: 9.5pt;">, in that order. Alternatively, you can also use <strong>-N<em>owner</em> </strong> </span> <strong><em><span style="font-size: 9.5pt;">_</span> </em> </strong> <strong><em><span style="font-size: 9.5pt;">name</span> </em> </strong> <strong><span style="font-size: 9.5pt;">.<em>table</em> </span> </strong> <strong><em><span style="font-size: 9.5pt;">_</span> </em> </strong> <strong><em><span style="font-size: 9.5pt;">name</span> </em> </strong> <strong><span style="font-size: 9.5pt;"> -D<em>db</em> </span> </strong> <strong><em><span style="font-size: 9.5pt;">_</span> </em> </strong> <strong><em><span style="font-size: 9.5pt;">name</span> </em> </strong> <span style="font-size: 9.5pt;">. </span> <strong><span style="font-size: 9.5pt;">ddlgen</span> </strong> <span style="font-size: 9.5pt;"> does not impose this restriction if <em>object</em> </span> <em><span style="font-size: 9.5pt;">_</span> </em> <em><span style="font-size: 9.5pt;">name</span> </em> <span style="font-size: 9.5pt;"> is an index (<em>I</em> ).</span></p>
<p align="left"><strong><span style="font-size: 9.5pt;">-D<em>dbname</em> </span> </strong> <span style="font-size: 9.5pt;"> </span></p>
<p align="left"><span style="font-size: 9.5pt;">specifies the name of the database for the object you specify in the <strong>-N</strong> option. The default is the user&rsquo;s default database.</span></p>
<p align="left"><strong><span style="font-size: 9.5pt;">-X<em>extended</em> </span> </strong> <strong><em><span style="font-size: 9.5pt;">_</span> </em> </strong> <strong><em><span style="font-size: 9.5pt;">object</span> </em> </strong> <strong><em><span style="font-size: 9.5pt;">_</span> </em> </strong> <strong><em><span style="font-size: 9.5pt;">type</span> </em> </strong> <span style="font-size: 9.5pt;"> </span></p>
<p align="left"><span style="font-size: 9.5pt;">differentiates the following:</span></p>
<p align="left"><span style="font-family: Symbol;"><span style="font-size: 10pt;"><br />
	</span> </span> <span style="font-size: 9.5pt;">user tables (<em>OU</em> ) from proxy tables (<em>OD</em> ) when you specify a table as your object type (<strong>-TU</strong> )</span><span style="font-family: Symbol;"><span style="font-size: 10pt;"><br />
	</span> </span> <span style="font-size: 9.5pt;">temporary databases (<em>OD</em> ) from nontemporary databases (<em>OU</em> ) when you specify database as your object type (<strong>-TDB</strong> )</span><span style="font-family: Symbol;"><span style="font-size: 10pt;"><br />
	</span> </span> <span style="font-size: 9.5pt;">SQLJ</span> <span style="font-size: 9.5pt;"> procedures (<em>OD</em> ) from stored procedures (<em>OU</em> ) when you specify procedure as your object type (<strong>-TP</strong> ). </span></p>
<p align="left"><span style="font-size: 9.5pt;">If <em>object</em> </span> <em><span style="font-size: 9.5pt;">_</span> </em> <em><span style="font-size: 9.5pt;">type</span> </em> <span style="font-size: 9.5pt;"> (<strong>-T</strong> ) is <em>U</em> (table) and <strong>-X</strong> is not specified, </span> <strong><span style="font-size: 9.5pt;">ddlgen</span> </strong> <span style="font-size: 9.5pt;"> generates DDL for both user tables and proxy tables. To generate DDL only for:</span></p>
<p align="left"><span style="font-family: Symbol;"><span style="font-size: 10pt;"><br />
	</span> </span> <em><span style="font-size: 9.5pt;">user tables</span> </em> <span style="font-size: 9.5pt;"> &ndash; use the <em>OU</em> extended object type with the <strong>-X</strong> option.</span><span style="font-family: Symbol;"><span style="font-size: 10pt;"><br />
	</span> </span> <em><span style="font-size: 9.5pt;">proxy tables</span> </em> <span style="font-size: 9.5pt;"> &ndash; use the <em>OD</em> extended object type with the <strong>-X</strong> option.</span></p>
<p align="left"><strong><span style="font-size: 9.5pt;">ddlgen</span> </strong> <span style="font-size: 9.5pt;"> does not support schema generation for system tables.</span></p>
<p align="left">&nbsp;</p>
<p align="left"><strong><span style="font-size: 9.5pt;">-O<em>output</em> </span> </strong> <strong><em><span style="font-size: 9.5pt;">_</span> </em> </strong> <strong><em><span style="font-size: 9.5pt;">file</span> </em> </strong> <span style="font-size: 9.5pt;"> </span></p>
<p align="left"><span style="font-size: 9.5pt;">specifies an output file for the generated DDL. If you do not specify <strong>-O</strong> , the DDL you create appears in a console window.</span></p>
<p align="left"><strong><span style="font-size: 9.5pt;">-E<em>error</em> </span> </strong> <strong><em><span style="font-size: 9.5pt;">_</span> </em> </strong> <strong><em><span style="font-size: 9.5pt;">file</span> </em> </strong> <span style="font-size: 9.5pt;"> </span></p>
<p align="left"><span style="font-size: 9.5pt;">specifies a log file for recording errors. If you do not specify <strong>-E</strong> , the generated errors appear in a console window.</span></p>
<p align="left"><strong><span style="font-size: 9.5pt;">-L<em>progress</em> </span> </strong> <strong><em><span style="font-size: 9.5pt;">_</span> </em> </strong> <strong><em><span style="font-size: 9.5pt;">log</span> </em> </strong> <strong><em><span style="font-size: 9.5pt;">_</span> </em> </strong> <strong><em><span style="font-size: 9.5pt;">file</span> </em> </strong> <span style="font-size: 9.5pt;"> </span></p>
<p align="left"><span style="font-size: 9.5pt;">specifies a log file for recording the progress of </span> <strong><span style="font-size: 9.5pt;">ddlgen</span> </strong> <span style="font-size: 9.5pt;">. If you do not specify <strong>-L</strong> , the progress is not recorded.</span></p>
<p align="left"><strong><span style="font-size: 9.5pt;">-J<em>client</em> </span> </strong> <strong><em><span style="font-size: 9.5pt;">_charset</span> </em> </strong> <span style="font-size: 9.5pt;"> </span></p>
<p align="left"><span style="font-size: 9.5pt;">specifies the character set to use on the client. <strong>-J<em>client</em> </strong> </span> <strong><em><span style="font-size: 9.5pt;">_charset</span> </em> </strong> <span style="font-size: 9.5pt;"> requests that Adaptive Server convert to and from <em>client</em> </span> <em><span style="font-size: 9.5pt;">_charset</span> </em> <span style="font-size: 9.5pt;">, the character set used on the client. A filter converts input between <em>client</em> </span> <em><span style="font-size: 9.5pt;">_charset</span> </em> <span style="font-size: 9.5pt;"> and the Adaptive Server character set.</span></p>
<p align="left"><span style="font-size: 9.5pt;">Omitting <strong>-J</strong> sets the character set to a default for the platform. The default may not necessarily be the character set that the client is using.</span></p>
<p align="left"><span style="font-size: 9.5pt;">HP platforms &ndash; You <em>must</em> use <strong>-Jiso_1</strong> to specify the correct character set.</span></p>
<p align="left"><strong><span style="font-size: 9.5pt;">-F</span> </strong> <span style="font-size: 9.5pt;"> </span></p>
<p align="left"><span style="font-size: 9.5pt;">filters out indexes, triggers, and constraints </span> <span style="font-size: 9.5pt;">out of table and database definitions in the DDL of table- and database-level objects. The valid filters are:</span></p>
<p align="left"><span style="font-family: Symbol;"><span style="font-size: 10pt;"><br />
	</span> </span> <em><span style="font-size: 9.5pt;">For tables</span> </em> <span style="font-size: 9.5pt;"> &ndash; <strong>[ % | I | RI | KC | TR | PC</strong> ]</span></p>
<p align="left"><span style="font-family: Symbol;"><span style="font-size: 10pt;"><br />
	</span> </span> <em><span style="font-size: 9.5pt;">For databases</span> </em> <span style="font-size: 9.5pt;"> &ndash; <strong>[ % | SGM | GRP | USR | R | D | UDD | U | V | P | XP | I | RI | KC | TR]</strong> </span></p>
<p align="left"><span style="font-size: 9.5pt;">The filter options are:</span></p>
<p align="left">&nbsp;</p>
<blockquote>
<p>&nbsp;</p>
<table border="0" cellpadding="0" cellspacing="0" width="785">
<col style="width: 80pt;" width="106" />
<col style="width: 509pt;" width="679" />
<tbody>
<tr height="18" style="height: 13.5pt;">
<td class="xl66" height="18" style="height: 13.5pt; width: 80pt;" width="106"><strong>Filter option<span style="">&nbsp;</span></strong></td>
<td class="xl66" style="border-left: medium none; width: 509pt;" width="679"><strong>Filters out:<span style="">&nbsp;</span></strong></td>
</tr>
<tr height="18" style="height: 13.5pt;">
<td class="xl65" height="18" style="height: 13.5pt; border-top: medium none;">%<span style="">&nbsp;</span></td>
<td class="xl65" style="border-top: medium none; border-left: medium none;">Everything, and retrieves the schema-only definition of a database or table.</td>
</tr>
<tr height="18" style="height: 13.5pt;">
<td class="xl65" height="18" style="height: 13.5pt; border-top: medium none;">SGM<span style="">&nbsp;</span></td>
<td class="xl65" style="border-top: medium none; border-left: medium none;">Segments</td>
</tr>
<tr height="18" style="height: 13.5pt;">
<td class="xl65" height="18" style="height: 13.5pt; border-top: medium none;">GRP<span style="">&nbsp;</span></td>
<td class="xl65" style="border-top: medium none; border-left: medium none;">Groups</td>
</tr>
<tr height="18" style="height: 13.5pt;">
<td class="xl65" height="18" style="height: 13.5pt; border-top: medium none;">USR<span style="">&nbsp;</span></td>
<td class="xl65" style="border-top: medium none; border-left: medium none;">Users</td>
</tr>
<tr height="18" style="height: 13.5pt;">
<td class="xl65" height="18" style="height: 13.5pt; border-top: medium none;">R<span style="">&nbsp;</span></td>
<td class="xl65" style="border-top: medium none; border-left: medium none;">Rules</td>
</tr>
<tr height="18" style="height: 13.5pt;">
<td class="xl65" height="18" style="height: 13.5pt; border-top: medium none;">D<span style="">&nbsp;</span></td>
<td class="xl65" style="border-top: medium none; border-left: medium none;">Defaults</td>
</tr>
<tr height="18" style="height: 13.5pt;">
<td class="xl65" height="18" style="height: 13.5pt; border-top: medium none;">UDD<span style="">&nbsp;</span></td>
<td class="xl65" style="border-top: medium none; border-left: medium none;">Uer-defined datatypes</td>
</tr>
<tr height="18" style="height: 13.5pt;">
<td class="xl65" height="18" style="height: 13.5pt; border-top: medium none;">U<span style="">&nbsp;</span></td>
<td class="xl65" style="border-top: medium none; border-left: medium none;">User tables</td>
</tr>
<tr height="18" style="height: 13.5pt;">
<td class="xl65" height="18" style="height: 13.5pt; border-top: medium none;">V<span style="">&nbsp;</span></td>
<td class="xl65" style="border-top: medium none; border-left: medium none;">Views</td>
</tr>
<tr height="18" style="height: 13.5pt;">
<td class="xl65" height="18" style="height: 13.5pt; border-top: medium none;">P<span style="">&nbsp;</span></td>
<td class="xl65" style="border-top: medium none; border-left: medium none;">Stored procedures</td>
</tr>
<tr height="18" style="height: 13.5pt;">
<td class="xl65" height="18" style="height: 13.5pt; border-top: medium none;">PC<span style="">&nbsp;</span></td>
<td class="xl65" style="border-top: medium none; border-left: medium none;">Partition condition</td>
</tr>
<tr height="18" style="height: 13.5pt;">
<td class="xl65" height="18" style="height: 13.5pt; border-top: medium none;">XP<span style="">&nbsp;</span></td>
<td class="xl65" style="border-top: medium none; border-left: medium none;">Extended stored procedures</td>
</tr>
<tr height="18" style="height: 13.5pt;">
<td class="xl65" height="18" style="height: 13.5pt; border-top: medium none;">I<span style="">&nbsp;</span></td>
<td class="xl65" style="border-top: medium none; border-left: medium none;">Indexes</td>
</tr>
<tr height="18" style="height: 13.5pt;">
<td class="xl65" height="18" style="height: 13.5pt; border-top: medium none;">RI<span style="">&nbsp;</span></td>
<td class="xl65" style="border-top: medium none; border-left: medium none;">Referential integrity constraints</td>
</tr>
<tr height="18" style="height: 13.5pt;">
<td class="xl65" height="18" style="height: 13.5pt; border-top: medium none;">KC<span style="">&nbsp;</span></td>
<td class="xl65" style="border-top: medium none; border-left: medium none;">Primary- and unique-key constraints</td>
</tr>
<tr height="18" style="height: 13.5pt;">
<td class="xl65" height="18" style="height: 13.5pt; border-top: medium none;">TR<span style="">&nbsp;</span></td>
<td class="xl65" style="border-top: medium none; border-left: medium none;">Triggers</td>
</tr>
</tbody>
</table>
</blockquote>
<p align="left">&nbsp;</p>
<p align="left"><strong><span style="font-size: 9.5pt;">-v</span> </strong> <span style="font-size: 9.5pt;"> </span></p>
<p align="left"><span style="font-size: 9.5pt;">displays the version and copyright message of </span> <strong><span style="font-size: 9.5pt;">ddlgen</span> </strong> <span style="font-size: 9.5pt;"> and returns to the operating system.</span></p>
<p align="left">&nbsp;</p>
<p align="left"><span style="font-size: 16px;"><strong>Examples </strong> </span></p>
<p align="left"><strong><em><span style="font-size: 8.5pt;">Example 1</span> </em> </strong></p>
<p align="left"><em><span style="font-size: 9.5pt;">Caches</span> </em> <span style="font-size: 9.5pt;"> &ndash; Generates DDL for a cache called <em>default data cache</em> on a machine named </span> <span style="font-size: 9.5pt;">HARBOR</span> <span style="font-size: 9.5pt;"> using port 1955:</span></p>
<p align="left"><span style="font-family: 宋体;"><span style="font-size: 12pt;">ddlgen -Uroy -Proy123 -SHARBOR:1955 -TC -N&quot;default data cache&quot;</span> </span></p>
<p align="left"><span style="font-size: 9.5pt;">To generate DDL for all caches:</span></p>
<p align="left"><span style="font-family: 宋体;"><span style="font-size: 12pt;">ddlgen -U<em>login</em> -P<em>password</em> -S<em>server</em> :<em>port</em> -TC -N%</span> </span></p>
<p align="left"><strong><em><span style="font-size: 8.5pt;">Example 2</span> </em> </strong></p>
<p align="left"><em><span style="font-size: 9.5pt;">Defaults</span> </em> <span style="font-size: 9.5pt;"> &ndash; Generates DDL for a default called &ldquo;phondflt&rdquo; owned by jones in the <em>pubs2</em> database on a machine named </span> <span style="font-size: 9.5pt;">HARBOR</span> <span style="font-size: 9.5pt;"> using port 1955:</span></p>
<p align="left"><span style="font-family: 宋体;"><span style="font-size: 12pt;">ddlgen -Uroy -Proy123 -SHARBOR:1955 -TD -Njones.phonedflt -Dpubs2</span> </span></p>
<p align="left"><span style="font-size: 9.5pt;">Alternatively, because </span> <strong><span style="font-size: 9.5pt;">ddlgen</span> </strong> <span style="font-size: 9.5pt;"> allows you to use a fully qualified name in the <strong>-N</strong> flag, you can omit the<strong> -D<em>dbname</em> </strong> and include the database name in the <strong>-N</strong> option:</span></p>
<p align="left"><span style="font-family: 宋体;"><span style="font-size: 12pt;">ddlgen -U<em>login</em> -P<em>password</em> -S<em>server</em> :<em>port</em> -TD -N<em>dbname</em> .<em>owner</em> .<em>defaultname</em> </span> </span></p>
<p align="left"><span style="font-size: 9.5pt;">To generate DDL for all defaults in a database owned by &ldquo;owner&rdquo;:</span></p>
<p align="left"><span style="font-family: 宋体;"><span style="font-size: 12pt;">ddlgen -U<em>login</em> -P<em>password</em> -S<em>server</em> :<em>port</em> -TD -N<em>owner</em> .% -D<em>dbname</em> </span> </span></p>
<p align="left"><strong><em><span style="font-size: 8.5pt;">Example 3</span> </em> </strong></p>
<p align="left"><em><span style="font-size: 9.5pt;">Databases</span> </em> <span style="font-size: 9.5pt;"> &ndash; Generates DDL for a database called <em>pubs2</em> on a machine named </span> <span style="font-size: 9.5pt;">HARBOR</span> <span style="font-size: 9.5pt;"> using port 1955:</span></p>
<p align="left"><span style="font-family: 宋体;"><span style="font-size: 12pt;">ddlgen -Uroy -Proy123 -SHARBOR:1955 -TDB -Npubs2</span> </span></p>
<p align="left"><span style="font-size: 9.5pt;">If you do not specify a <em>dbname</em> , </span> <strong><span style="font-size: 9.5pt;">ddlgen</span> </strong> <span style="font-size: 9.5pt;"> generates DDL for the default database of <em>login</em> :</span></p>
<p align="left"><span style="font-family: 宋体;"><span style="font-size: 12pt;">ddlgen -U<em>login</em> -P<em>password</em> -S<em>server</em> :<em>port</em> </span> </span></p>
<p align="left"><span style="font-size: 9.5pt;">If you do not use the <strong>-T</strong> parameter, </span> <strong><span style="font-size: 9.5pt;">ddlgen</span> </strong> <span style="font-size: 9.5pt;"> generates DDL for a default-type database:</span></p>
<p align="left"><span style="font-family: 宋体;"><span style="font-size: 12pt;">ddlgen -U<em>login</em> -P<em>password</em> -S<em>server</em> :<em>port</em> -N<em>dbname</em> </span> </span></p>
<p align="left"><span style="font-size: 9.5pt;">To generate DDL for all databases:</span></p>
<p align="left"><span style="font-family: 宋体;"><span style="font-size: 12pt;">ddlgen -U<em>login</em> -P<em>password</em> -S<em>server</em> :<em>port</em> -TDB -N%</span> </span></p>
<p align="left"><strong><em><span style="font-size: 8.5pt;">Example 4</span> </em> </strong></p>
<p align="left"><em><span style="font-size: 9.5pt;">Database device</span> </em> <span style="font-size: 9.5pt;"> &ndash; Generates DDL for a database device called <em>master</em> running on a machine named </span> <span style="font-size: 9.5pt;">HARBOR</span> <span style="font-size: 9.5pt;"> using port 1955:</span></p>
<p align="left"><span style="font-family: 宋体;"><span style="font-size: 12pt;">ddlgen -Uroy -Proy123 -SHARBOR:1955 -TDBD -Nmaster</span> </span></p>
<p align="left"><span style="font-size: 9.5pt;">To generate DDL for all database devices:</span></p>
<p align="left"><span style="font-family: 宋体;"><span style="font-size: 12pt;">ddlgen -U<em>login</em> -P<em>password</em> -S<em>server</em> :<em>port</em> -TDBD -N%</span> </span></p>
<p align="left"><strong><em><span style="font-size: 8.5pt;">Example 5</span> </em> </strong></p>
<p align="left"><em><span style="font-size: 9.5pt;">Temporary databases</span> </em> <span style="font-size: 9.5pt;"> &ndash; Generates DDL for all databases, including </span> <span style="font-size: 9.5pt;">tempdb</span> <span style="font-size: 9.5pt;">:</span></p>
<p align="left"><span style="font-family: 宋体;"><span style="font-size: 12pt;">ddlgen -U<em>login</em> -P<em>password</em> -S<em>server</em> :<em>port</em> -TDB -N%</span> </span></p>
<p align="left"><span style="font-size: 9.5pt;">To generate DDL for all temporary databases, use the <strong>OD</strong> extended database type:</span></p>
<p align="left"><span style="font-family: 宋体;"><span style="font-size: 12pt;">ddlgen -U<em>login</em> -P<em>password</em> -S<em>server</em> :<em>port</em> -TDB -XOD -N%</span> </span></p>
<p align="left"><span style="font-size: 9.5pt;">Although you can use the <strong>OD</strong> extended type in Adaptive Server versions 12.5.0.3 and later, versions earlier than 12.5.0.3 issue warning messages. You can safely ignore this message; </span> <strong><span style="font-size: 9.5pt;">ddlgen</span> </strong> <span style="font-size: 9.5pt;"> continues processing the command.</span></p>
<p align="left"><span style="font-size: 9.5pt;">To generate DDL for all databases except temporary databases, use the <strong>OU</strong> extended type:</span></p>
<p align="left"><span style="font-family: 宋体;"><span style="font-size: 12pt;">ddlgen -U<em>login</em> -P<em>password</em> -S<em>server</em> :<em>port</em> -TDB -XOU -N%</span> </span></p>
<p align="left"><span style="font-size: 9.5pt;">The following generates DDL for a temporary database named </span> <em><span style="font-size: 9.5pt;">tempdb1</span> </em> <span style="font-size: 9.5pt;">:</span></p>
<p align="left"><span style="font-family: 宋体;"><span style="font-size: 12pt;">ddlgen -U<em>login</em> -P<em>password</em> -S<em>server</em> :<em>port</em> -TDB -Ntempdb1</span> </span></p>
<p align="left"><span style="font-size: 9.5pt;">The output includes the following:</span></p>
<p align="left"><span style="font-family: Symbol;"><span style="font-size: 10pt;">&middot;<br />
	</span> </span> <span style="font-size: 9.5pt;">A <strong>create temporary database</strong> statement</span></p>
<blockquote>
<p align="left"><span style="font-family: Symbol;"><span style="font-size: 10pt;"><br />
		</span> </span> <span style="font-family: 宋体;"><span style="font-size: 12pt;">create temporary database tempdb1 on master = 4,</span></span><span style="font-family: 宋体;"><span style="font-size: 12pt;">asdas = 2</span></span><span style="font-family: Symbol;"><span style="font-size: 10pt;"><br />
		</span> </span> <span style="font-family: 宋体;"><span style="font-size: 12pt;">go</span> </span></p>
</blockquote>
<p align="left"><span style="font-family: Symbol;"><span style="font-size: 10pt;"><br />
	</span> </span> <span style="font-size: 9.5pt;">An </span> <strong><span style="font-size: 9.5pt;">sp_tempdb</span> </strong> <strong><span style="font-size: 9.5pt;"> bind</span> </strong> <span style="font-size: 9.5pt;"> statement where the </span> <strong><span style="font-size: 9.5pt;">isql</span> </strong> <span style="font-size: 9.5pt;"> application is bound to </span> <em><span style="font-size: 9.5pt;">tempdb1</span> </em> <span style="font-size: 9.5pt;">:</span></p>
<blockquote>
<p align="left"><span style="font-family: Symbol;"><span style="font-size: 10pt;"><br />
		</span> </span> <span style="font-family: 宋体;"><span style="font-size: 12pt;">sp_tempdb &#39;bind&#39;,&#39;ap&#39;, &#39;isql&#39;, &#39;DB&#39;, &#39;tempdb1&#39;</span></span><span style="font-family: Symbol;"><span style="font-size: 10pt;"><br />
		</span> </span> <span style="font-family: 宋体;"><span style="font-size: 12pt;">go</span> </span></p>
</blockquote>
<p align="left">&nbsp;</p>
<p align="left"><span style="font-size: 9.5pt;">DDL for objects such as views, stored procedures, and tables is not generated along with DDL for a temporary database because these objects are temporary, and are re-created when the server restarts.</span></p>
<p align="left"><span style="font-size: 9.5pt;">When you use the <strong>-F</strong> parameter to filter a table while generating DDL for a database object, then indexes, referential integrity, key constraints and triggers automatically get filtered, as they are a subset of the table object.</span></p>
<p align="left"><strong><em><span style="font-size: 8.5pt;">Example 6</span> </em> </strong></p>
<p align="left"><em><span style="font-size: 9.5pt;">Dump device</span> </em> <span style="font-size: 9.5pt;"> &ndash; generates DDL for a dump device called <em>tapedump1</em> running on a machine named </span> <span style="font-size: 9.5pt;">HARBOR</span> <span style="font-size: 9.5pt;"> using port 1955:</span></p>
<p align="left"><span style="font-family: 宋体;"><span style="font-size: 12pt;">ddlgen -Uroy -Proy123 -SHARBOR:1955 -TDPD -Ntapedump1</span> </span></p>
<p align="left"><span style="font-size: 9.5pt;">To generate DDL for all dump devices:</span></p>
<p align="left"><span style="font-family: 宋体;"><span style="font-size: 12pt;">ddlgen -U<em>login</em> -P<em>password</em> -S<em>server</em> :<em>port</em> -TDPD -N%</span> </span></p>
<p align="left"><strong><em><span style="font-size: 8.5pt;">Example 7</span> </em> </strong></p>
<p align="left"><em><span style="font-size: 9.5pt;">Execution class</span> </em> <span style="font-size: 9.5pt;"> &ndash; generates DDL for an execution class called EC2 running on a machine named </span> <span style="font-size: 9.5pt;">HARBOR</span> <span style="font-size: 9.5pt;"> using port 1955:</span></p>
<p align="left"><span style="font-family: 宋体;"><span style="font-size: 12pt;">ddlgen -Uroy -Proy123 -SHARBOR:1955 -TEC -NEC2</span> </span></p>
<p align="left"><span style="font-size: 9.5pt;">To generate DDL for all execution classes:</span></p>
<p align="left"><span style="font-family: 宋体;"><span style="font-size: 12pt;">ddlgen -U<em>login</em> -P<em>password</em> -S<em>server</em> :<em>port</em> -TEC -N%</span> </span></p>
<p align="left"><strong><em><span style="font-size: 8.5pt;">Example 8</span> </em> </strong></p>
<p align="left"><em><span style="font-size: 9.5pt;">Engine groups </span> </em> <span style="font-size: 9.5pt;">&ndash; generates DDL for an engine group called </span> <span style="font-size: 9.5pt;">LASTONLINE</span> <span style="font-size: 9.5pt;"> running on a machine named </span> <span style="font-size: 9.5pt;">HARBOR</span> <span style="font-size: 9.5pt;"> using port 1955:</span></p>
<p align="left"><span style="font-family: 宋体;"><span style="font-size: 12pt;">ddlgen -Uroy -Proy123 -SHARBOR:1955 -TEG -NLASTONLINE</span> </span></p>
<p align="left"><span style="font-size: 9.5pt;">To generate DDL for all engine groups:</span></p>
<p align="left"><span style="font-family: 宋体;"><span style="font-size: 12pt;">ddlgen -U<em>login</em> -P<em>password</em> -S<em>server</em> :<em>port</em> -TEG -N%</span> </span></p>
<p align="left"><strong><em><span style="font-size: 8.5pt;">Example 9</span> </em> </strong></p>
<p align="left"><em><span style="font-size: 9.5pt;">Extended stored procedures</span> </em> <span style="font-size: 9.5pt;"> &ndash; generates DDL for the </span> <strong><span style="font-size: 9.5pt;">xp_cmdshell</span> </strong> <span style="font-size: 9.5pt;"> extended stored procedure in the <em>pubs2</em> database, owned by Jones and running on a machine named </span> <span style="font-size: 9.5pt;">HARBOR</span> <span style="font-size: 9.5pt;"> using port 1955, by using the fully qualified <strong><em>dbname</em> .<em>owner</em> .<em>extendedstoredprocedure</em> </strong> format with the <strong>-N</strong> option:</span></p>
<p align="left"><span style="font-family: 宋体;"><span style="font-size: 12pt;">ddlgen -Uroy -Proy123 -SHARBOR:1955 -TXP -Npubs2.jones.xp_cmdshell</span> </span></p>
<p align="left"><span style="font-size: 9.5pt;">Alternatively, you can use the <strong>-D</strong> option instead of using the fully qualified name:</span></p>
<p align="left"><span style="font-family: 宋体;"><span style="font-size: 12pt;">ddlgen -U<em>login</em> -P<em>password</em> -S<em>server</em> :<em>port</em> -TXP </span> </span></p>
<p align="left"><span style="font-family: 宋体;"><span style="font-size: 12pt;">&nbsp; &nbsp; -N<em>owner</em> .<em>extendedstoredprocedure</em> -D<em>dbname</em> </span> </span></p>
<p align="left"><span style="font-size: 9.5pt;">To generate DDL for all extended stored procedures:</span></p>
<p align="left"><span style="font-family: 宋体;"><span style="font-size: 12pt;">ddlgen -U<em>login</em> -P<em>password</em> -S<em>server</em> :<em>port</em> -TXP -N<em>dbname</em> .<em>owner</em> .%</span> </span></p>
<p align="left"><strong><em><span style="font-size: 8.5pt;">Example 10</span> </em> </strong></p>
<p align="left"><em><span style="font-size: 9.5pt;">Filters</span> </em> <span style="font-size: 9.5pt;"> &ndash; Generates DDL for the <em>authors</em> table in the <em>pubs2</em> database, filtering for all indexes (<strong>I</strong> ), and referential integrity constraints (<strong>RI</strong> ), primary and unique key constraints (<strong>KC</strong> ), triggers (<strong>TR</strong> ), and partition condition (<strong>PC</strong> ) from the DDL of a table:</span></p>
<p align="left"><span style="font-family: 宋体;"><span style="font-size: 12pt;">ddlgen -Uroy -Proy123 -TU -Nauthors -Dpubs2 -F%</span> </span></p>
<p align="left"><span style="font-size: 9.5pt;">Alternatively, you can specify each of the filters individually:</span></p>
<p align="left"><span style="font-family: 宋体;"><span style="font-size: 12pt;">ddlgen -U<em>login</em> -P<em>password</em> -TU -N<em>dbname</em> .<em>owner</em> .<em>table</em> </span> </span></p>
<p align="left"><span style="font-family: 宋体;"><span style="font-size: 12pt;">&nbsp; &nbsp; -FI,RI,KC,TR</span> </span></p>
<p align="left"><span style="font-size: 9.5pt;">The following generates the definition of <em>table</em> </span> <em><span style="font-size: 9.5pt;">_</span> </em> <em><span style="font-size: 9.5pt;">name</span> </em> <span style="font-size: 9.5pt;"> while filtering out foreign keys and primary-unique keys:</span></p>
<p align="left"><span style="font-family: 宋体;"><span style="font-size: 12pt;">ddlgen -U<em>login</em> -P<em>password</em> -TU -N<em>table_name</em> -D<em>dbname</em> </span> </span></p>
<p align="left"><span style="font-family: 宋体;"><span style="font-size: 12pt;">&nbsp; &nbsp; -FRI,KC</span> </span></p>
<p align="left"><span style="font-size: 9.5pt;">Both of these generate foreign keys for a specified user in the entire database:</span></p>
<p align="left"><span style="font-family: 宋体;"><span style="font-size: 12pt;">ddlgen -U<em>login</em> -P<em>password</em> -TRI -N%.%.% -D<em>dbname</em> </span> </span></p>
<p align="left"><span style="font-size: 9.5pt;">Or:</span></p>
<p align="left"><span style="font-family: 宋体;"><span style="font-size: 12pt;">ddlgen -U<em>login</em> -P<em>password</em> -TRI -N<em>dbname</em> %.%.%</span> </span></p>
<p align="left"><span style="font-size: 9.5pt;">Both of these generate DDL for the primary and unique keys of all the tables in a database that begin with &ldquo;PK&rdquo;:</span></p>
<p align="left"><span style="font-family: 宋体;"><span style="font-size: 12pt;">ddlgen -U<em>login</em> -P<em>password</em> -TKC -N<em>dbname</em> .%.%.PK%</span> </span></p>
<p align="left"><span style="font-size: 9.5pt;">Or:</span></p>
<p align="left"><span style="font-family: 宋体;"><span style="font-size: 12pt;">ddlgen -U<em>login</em> -P<em>password</em> -TKC -N%.%.PK% -D<em>dbname</em> </span> </span></p>
<p align="left"><span style="font-size: 9.5pt;">The following generates schema-only definition of a database:</span></p>
<p align="left"><span style="font-family: 宋体;"><span style="font-size: 12pt;">ddlgen -U<em>login</em> -P<em>password</em> -S<em>server</em> :<em>port</em> -TF -N<em>dbname</em> -F%</span> </span></p>
<p align="left"><span style="font-size: 9.5pt;">Alternatively, you can specify each of the filters individually:</span></p>
<p align="left"><span style="font-family: 宋体;"><span style="font-size: 12pt;">ddlgen -U<em>login</em> -P<em>password</em> -S<em>server</em> :<em>port</em> -TDB -N<em>dbname</em> </span> </span></p>
<p align="left"><span style="font-family: 宋体;"><span style="font-size: 12pt;">&nbsp; &nbsp; -FSGM,GRP,USR,R,D,UDD,V,P,XP,I,RI,KC,TR</span> </span></p>
<p align="left"><span style="font-size: 9.5pt;">The following generates the database DDL skipping the compiled object:</span></p>
<p align="left"><span style="font-family: 宋体;"><span style="font-size: 12pt;">ddlgen -U<em>login</em> -P<em>password</em> -S<em>server</em> :<em>port</em> -TDB -N<em>dbname</em> -FTR,D,XP,V,R</span> </span></p>
<p align="left"><span style="font-size: 9.5pt;">The following generates database definition without a table definition:</span></p>
<p align="left"><span style="font-family: 宋体;"><span style="font-size: 12pt;">ddlgen -U<em>login</em> -P<em>password</em> -S<em>server</em> :<em>port</em> -TDB -Ndbname </span> </span></p>
<p align="left"><span style="font-family: 宋体;"><span style="font-size: 12pt;">&nbsp; &nbsp; -FU</span> </span></p>
<p align="left"><strong><em><span style="font-size: 8.5pt;">Example 11</span> </em> </strong></p>
<p align="left"><em><span style="font-size: 9.5pt;">Groups </span> </em> <span style="font-size: 9.5pt;">&ndash; Generates DDL for a group called &ldquo;public&rdquo; in the <em>pubs2</em> database, running on a machine named </span> <span style="font-size: 9.5pt;">HARBOR</span> <span style="font-size: 9.5pt;"> using port 1955, by using the fully qualified <strong><em>dbname</em> .<em>groupname</em> </strong> format in the <strong>-N</strong> option:</span></p>
<p align="left"><span style="font-family: 宋体;"><span style="font-size: 12pt;">ddlgen -Uroy -Proy123 -SHARBOR:1955 -TGRP -Npubs2.public</span> </span></p>
<p align="left"><span style="font-size: 9.5pt;">Alternatively, you can use the -D option to specify the <em>dbname</em> :</span></p>
<p align="left"><span style="font-family: 宋体;"><span style="font-size: 12pt;">ddlgen -U<em>login</em> -P<em>password</em> -S<em>server</em> :<em>port</em> -TGRP -N<em>groupname</em> -D<em>dbname</em> </span> </span></p>
<p align="left"><span style="font-size: 9.5pt;">To generate DDL for all groups:</span></p>
<p align="left"><span style="font-family: 宋体;"><span style="font-size: 12pt;">ddlgen -U<em>login</em> -P<em>password</em> -S<em>server</em> :<em>port</em> -TGRP -N<em>dbname</em> .%</span> </span></p>
<p align="left"><strong><em><span style="font-size: 8.5pt;">Example 12</span> </em> </strong></p>
<p align="left"><em><span style="font-size: 9.5pt;">Indexes</span> </em> <span style="font-size: 9.5pt;"> &ndash; Generates DDL for an index called </span> <em><span style="font-size: 9.5pt;">au_lname</span> </em> <span style="font-size: 9.5pt;"> for the table <em>authors</em> owned by dbo, in the <em>pubs2</em> database:</span></p>
<p align="left"><span style="font-family: 宋体;"><span style="font-size: 12pt;">ddlgen -Uroy -Proy123 -SHARBOR:1955 -TI -Ndbo.authors.au_lname -Dpubs2</span> </span></p>
<p align="left"><span style="font-size: 9.5pt;">Alternatively, because </span> <strong><span style="font-size: 9.5pt;">ddlgen</span> </strong> <span style="font-size: 9.5pt;"> allows you to use a fully qualified name in the <strong>-N</strong> flag, you can omit the<strong> -D<em>dbname</em> </strong> and include the database name in the <strong>-N</strong> option:</span></p>
<p align="left"><span style="font-family: 宋体;"><span style="font-size: 12pt;">ddlgen -U<em>login</em> -P<em>password</em> -S<em>server</em> :<em>port</em> </span> </span></p>
<p align="left"><span style="font-family: 宋体;"><span style="font-size: 12pt;">&nbsp; &nbsp; -TI -N<em>dbname</em> .<em>owner</em> .<em>tablename</em> .<em>indexname</em> </span> </span></p>
<p align="left"><span style="font-size: 9.5pt;">If you use a fully qualified name, you may omit the <strong>-D</strong> option.</span></p>
<p align="left"><span style="font-size: 9.5pt;">To generate DDL for all indexes for a single table:</span></p>
<p align="left"><span style="font-family: 宋体;"><span style="font-size: 12pt;">ddlgen -U<em>login</em> -P<em>password</em> -S<em>server</em> :<em>port</em> -TI </span> </span></p>
<p align="left"><span style="font-family: 宋体;"><span style="font-size: 12pt;">&nbsp; &nbsp; -N<em>dbname</em> .<em>owner</em> .<em>tablename</em> .%</span> </span></p>
<p align="left"><span style="font-size: 9.5pt;">To generate DDL for all indexes of all tables in a database:</span></p>
<p align="left"><span style="font-family: 宋体;"><span style="font-size: 12pt;">ddlgen -U<em>login</em> -P<em>password</em> -S<em>server</em> :<em>port</em> -TI </span> </span></p>
<p align="left"><span style="font-family: 宋体;"><span style="font-size: 12pt;">&nbsp; &nbsp; -N<em>dbname</em> .%.%.%</span> </span></p>
<p align="left"><span style="font-size: 9.5pt;">For example, this generates DDL for all indexes for all tables in the <em>pubs2</em> database:</span></p>
<p align="left"><span style="font-family: 宋体;"><span style="font-size: 12pt;">ddlgen -Usa -P -SHARBOR:1955 -TI -Npubs2.%.%.%</span> </span></p>
<p align="left">&nbsp;</p>
<p align="left"><span style="font-family: 宋体;"><span style="font-size: 12pt;">ddlgen -Usa -P -SHARBOR:1955 -TI -Npubs2.%.%.%</span> </span></p>
<p align="left"><strong><em><span style="font-size: 8.5pt;">Example 13</span> </em> </strong></p>
<p align="left"><em><span style="font-size: 9.5pt;">Keys</span> </em> <span style="font-size: 9.5pt;"> &ndash; Both of these generate DDL for the primary and unique keys of all the tables in a database that begin with &ldquo;PK&rdquo;:</span></p>
<p align="left"><span style="font-family: 宋体;"><span style="font-size: 12pt;">ddlgen -Usa -P -TKC -N<em>dbname</em> .%.%.PK%</span> </span></p>
<p align="left"><span style="font-size: 9.5pt;">Or:</span></p>
<p align="left"><span style="font-family: 宋体;"><span style="font-size: 12pt;">ddlgen -Usa -P -TKC -N%.%.PK% -D<em>dbname</em> </span> </span></p>
<p align="left"><strong><em><span style="font-size: 8.5pt;">Example 14</span> </em> </strong></p>
<p align="left"><em><span style="font-size: 9.5pt;">Logical keys</span> </em> <span style="font-size: 9.5pt;"> &ndash; <em>LK</em> generates logical keys of table defined by <strong>sp_primarykey</strong> , <strong>sp_commonkey</strong> , <strong>sp_foreignkey</strong> statements. Since these keys do not have a name, the name of the object in this case would be the name of the table. This example generate a DDL for logical keys of table authors in database pubs2 running on a machine named HARBOR using port 1955:</span></p>
<p align="left"><span style="font-family: 宋体;"><span style="font-size: 12pt;">ddlgen -Uroy -Proy123 -SHARBOR:1955 -TLK -Npubs2.dbo.authors</span> </span></p>
<p align="left"><span style="font-size: 9.5pt;">To generate DDL for all logical keys in database pub2 use:</span></p>
<p align="left"><span style="font-family: 宋体;"><span style="font-size: 12pt;">ddlgen -Uroy -Proy123 -SHARBOR:1955 -TLK -Npubs2.%.%</span> </span></p>
<p align="left"><span style="font-size: 9.5pt;">To filter out logical keys definition from DDL of table authors use LK in -F argument, use:</span></p>
<p align="left"><span style="font-family: 宋体;"><span style="font-size: 12pt;">ddlgen -Uroy -Proy123 -SHARBOR:1955 -TLK -Npubs2.dbo.authors -FLK</span> </span></p>
<p align="left"><strong><em><span style="font-size: 8.5pt;">Example 15</span> </em> </strong></p>
<p align="left"><em><span style="font-size: 9.5pt;">Logins</span> </em> <span style="font-size: 9.5pt;"> &ndash; Generates DDL for all logins on a machine named </span> <span style="font-size: 9.5pt;">HARBOR</span> <span style="font-size: 9.5pt;"> using port 1955:</span></p>
<p align="left"><span style="font-family: 宋体;"><span style="font-size: 12pt;">ddlgen -Uroy -Proy123 -SHARBOR:1955 -TL -N%</span> </span></p>
<p align="left"><span style="font-size: 9.5pt;">The password in the DDL generated for all logins is &ldquo;password&rdquo;.</span></p>
<p align="left"><span style="font-size: 9.5pt;">Alternatively, you can specify an individual login by using <strong>-N<em>username</em> </strong> instead of <strong>-N%</strong> :</span></p>
<p align="left"><span style="font-family: 宋体;"><span style="font-size: 12pt;">ddlgen -U<em>login</em> -P<em>password</em> -S<em>server</em> :<em>port</em> -TL -N<em>username</em> </span> </span></p>
<p align="left"><strong><em><span style="font-size: 8.5pt;">Example 16</span> </em> </strong></p>
<p align="left"><em><span style="font-size: 9.5pt;">Remote Servers</span> </em> <span style="font-size: 9.5pt;"> &ndash; Generates DDL for a remote server called </span> <span style="font-size: 9.5pt;">ORANGE</span> <span style="font-size: 9.5pt;"> on a machine named </span> <span style="font-size: 9.5pt;">HARBOR</span> <span style="font-size: 9.5pt;"> using port 1955:</span></p>
<p align="left"><span style="font-family: 宋体;"><span style="font-size: 12pt;">ddlgen -Uroy -Proy123 -SHARBOR:1955 -TRS -NORANGE</span> </span></p>
<p align="left"><span style="font-size: 9.5pt;">To generate DDL for all remote servers:</span></p>
<p align="left"><span style="font-family: 宋体;"><span style="font-size: 12pt;">ddlgen -U<em>login</em> -P<em>password</em> -S<em>server</em> :<em>port</em> -TRS -N%</span> </span></p>
<p align="left"><strong><em><span style="font-size: 8.5pt;">Example 17</span> </em> </strong></p>
<p align="left"><em><span style="font-size: 9.5pt;">Roles</span> </em> <span style="font-size: 9.5pt;"> &ndash; Generates DDL for the sa</span> <span style="font-size: 9.5pt;">_</span> <span style="font-size: 9.5pt;">role on a machine named </span> <span style="font-size: 9.5pt;">HARBOR</span> <span style="font-size: 9.5pt;"> using port 1955:</span></p>
<p align="left"><span style="font-family: 宋体;"><span style="font-size: 12pt;">ddlgen -Uroy -Proy123 -SHARBOR:1955 -TRO -Nsa_role</span> </span></p>
<p align="left"><span style="font-size: 9.5pt;">To generate DDL for all roles:</span></p>
<p align="left"><span style="font-family: 宋体;"><span style="font-size: 12pt;">ddlgen -U<em>login</em> -P<em>password</em> -S<em>server</em> :<em>port</em> -TRO -N%</span> </span></p>
<p align="left"><span style="font-size: 9.5pt;">The password in the DDL generated for all roles is &ldquo;password&rdquo;.</span></p>
<p align="left"><strong><em><span style="font-size: 8.5pt;">Example 18</span> </em> </strong></p>
<p align="left"><em><span style="font-size: 9.5pt;">Rules</span> </em> <span style="font-size: 9.5pt;"> &ndash; Generates DDL for all rules associated with <em>authors</em> on a machine named </span> <span style="font-size: 9.5pt;">HARBOR</span> <span style="font-size: 9.5pt;"> using port 1955:</span></p>
<p align="left"><span style="font-family: 宋体;"><span style="font-size: 12pt;">ddlgen -Uroy -Proy123 -SHARBOR:1955 -TR -Nauthors.dbo.%</span> </span></p>
<p align="left"><span style="font-size: 9.5pt;">The <strong>%</strong> symbol tells </span> <strong><span style="font-size: 9.5pt;">ddlgen</span> </strong> <span style="font-size: 9.5pt;"> to create </span> <span style="font-size: 9.5pt;">DDLs</span> <span style="font-size: 9.5pt;"> for all rules that exist on the server.</span></p>
<p align="left"><span style="font-size: 9.5pt;">You can also give the fully qualified name of the rule:</span></p>
<p align="left"><span style="font-family: 宋体;"><span style="font-size: 12pt;">ddlgen -U<em>login</em> -P<em>password</em> -S<em>server</em> :<em>port</em> -TR -N<em>dbname</em> .<em>owner</em> .<em>rulename</em> </span> </span></p>
<p align="left"><span style="font-size: 9.5pt;">Alternatively, you can also use the <strong>-D</strong> parameter:</span></p>
<p align="left"><span style="font-family: 宋体;"><span style="font-size: 12pt;">ddlgen -U<em>login</em> -P<em>password</em> -S<em>server</em> :<em>port</em> -TR -N<em>owner</em> .<em>rulename</em> -D<em>dbname</em> </span> </span></p>
<p align="left"><strong><em><span style="font-size: 8.5pt;">Example 19</span> </em> </strong></p>
<p align="left"><em><span style="font-size: 9.5pt;">Segments</span> </em> <span style="font-size: 9.5pt;"> &ndash; Generates DDL using the fully qualified <strong><em>dbname</em> .<em>segmentname</em> </strong> format in the <strong>-N</strong> option for a segment called <em>logsegment</em> for the <strong>pubs2</strong> database, on a machine named </span> <span style="font-size: 9.5pt;">HARBOR</span> <span style="font-size: 9.5pt;"> using port 1955:</span></p>
<p align="left"><span style="font-family: 宋体;"><span style="font-size: 12pt;">ddlgen -Uroy -Proy123 -SHARBOR:1955 -TSGM -Npubs2.logsegment</span> </span></p>
<p align="left"><span style="font-size: 9.5pt;">Alternatively, you can use specify the <em>dbname</em> using the <strong>-D</strong> option:</span></p>
<p align="left"><span style="font-family: 宋体;"><span style="font-size: 12pt;">ddlgen -U<em>login</em> -P<em>password</em> -S<em>server</em> :<em>port</em> -TSGM -N<em>segmentname</em> -D<em>dbname</em> </span> </span></p>
<p align="left"><span style="font-size: 9.5pt;">To generate DDL for all segments:</span></p>
<p align="left"><span style="font-family: 宋体;"><span style="font-size: 12pt;">ddlgen -U<em>login</em> -P<em>password</em> -S<em>server</em> :<em>port</em> -TSGM -N<em>dbname</em> .%</span> </span></p>
<p align="left"><strong><em><span style="font-size: 8.5pt;">Example 20</span> </em> </strong></p>
<p align="left"><em><span style="font-size: 9.5pt;">SQLJ</span> </em> <em><span style="font-size: 9.5pt;"> functions</span> </em> <span style="font-size: 9.5pt;"> &ndash; Generates DDL for a </span> <span style="font-size: 9.5pt;">SQLJ</span> <span style="font-size: 9.5pt;"> function named <strong>region</strong> </span> <strong><span style="font-size: 9.5pt;">_</span> </strong> <strong><span style="font-size: 9.5pt;">of</span> </strong> <span style="font-size: 9.5pt;"> owned by <em>dbo</em> in database <em>master</em> :</span></p>
<p align="left"><span style="font-family: 宋体;"><span style="font-size: 12pt;">ddlgen -Uroy -Proy123 -SHARBOR:1955 -TF &ndash;Nmaster.dbo.region_of </span> </span></p>
<p align="left"><span style="font-size: 9.5pt;">Alternatively you can also use the <strong>-D</strong> parameter:</span></p>
<p align="left"><span style="font-family: 宋体;"><span style="font-size: 12pt;">ddlgen -U<em>login</em> -P<em>password</em> -S<em>server</em> :<em>port</em> -TF &ndash;Ndbo.region_of &ndash;Dmaster</span> </span></p>
<p align="left"><span style="font-size: 9.5pt;">To generate DDL for all </span> <span style="font-size: 9.5pt;">SQLJ</span> <span style="font-size: 9.5pt;"> functions in a database, use object type <strong>F</strong> :</span></p>
<p align="left"><span style="font-family: 宋体;"><span style="font-size: 12pt;">ddlgen -U<em>login</em> -P<em>password</em> -S<em>server</em> :<em>port</em> -TF &ndash;N<em>dbname</em> .<em>owner</em> .%</span> </span></p>
<p align="left"><strong><em><span style="font-size: 8.5pt;">Example 21</span> </em> </strong></p>
<p align="left"><em><span style="font-size: 9.5pt;">SQLJ</span> </em> <em><span style="font-size: 9.5pt;"> procedures</span> </em> <span style="font-size: 9.5pt;"> &ndash; are a kind of stored procedure. You generate DDL for </span> <span style="font-size: 9.5pt;">SQL</span> <span style="font-size: 9.5pt;"> procedures along with DDL for stored procedures. The following generates DDL for all stored procedures&mdash;including </span> <span style="font-size: 9.5pt;">SQLJ</span> <span style="font-size: 9.5pt;"> procedures&mdash;owned by <em>dbo</em> in the <em>master</em> database: </span></p>
<p align="left"><span style="font-family: 宋体;"><span style="font-size: 12pt;">ddlgen -Uroy -Proy123 -SHARBOR:1955 -TP &ndash;Nmaster.dbo.% </span> </span></p>
<p align="left"><span style="font-size: 9.5pt;">To generate DDL for all </span> <span style="font-size: 9.5pt;">SQLJ</span> <span style="font-size: 9.5pt;"> procedures that are only owned by <em>dbo</em> in the <em>master</em> database, use the following, where the extended type <strong>OD</strong> refers to </span> <span style="font-size: 9.5pt;">SQLJ</span> <span style="font-size: 9.5pt;"> procedures:</span></p>
<p align="left"><span style="font-family: 宋体;"><span style="font-size: 12pt;">ddlgen -U<em>login</em> -P<em>password</em> -S<em>server</em> :<em>port</em> -TP &ndash;Nmaster.dbo.% -XOD</span> </span></p>
<p align="left"><span style="font-size: 9.5pt;">To generate DDL for all procedures except </span> <span style="font-size: 9.5pt;">SQLJ</span> <span style="font-size: 9.5pt;"> procedures owned by <em>dbo</em> in the <em>master</em> database, use the following, where the extended type <strong>OU</strong> refers to all stored procedures except </span> <span style="font-size: 9.5pt;">SQLJ</span> <span style="font-size: 9.5pt;"> procedures:</span></p>
<p align="left"><span style="font-family: 宋体;"><span style="font-size: 12pt;">ddlgen -U<em>login</em> -P<em>password</em> -S<em>server</em> :<em>port</em> -TP &ndash;Nmaster.dbo.% -XOU</span> </span></p>
<p align="left"><strong><em><span style="font-size: 8.5pt;">Example 22</span> </em> </strong></p>
<p align="left"><em><span style="font-size: 9.5pt;">Stored procedures</span> </em> <span style="font-size: 9.5pt;"> &ndash; Generates DDL for the <strong>sp_monitor</strong> stored procedure for the <em>pubs2</em> database on a machine named </span> <span style="font-size: 9.5pt;">HARBOR</span> <span style="font-size: 9.5pt;"> using port 1955, using the fully qualified <strong><em>dbname</em> .<em>owner</em> .<em>procedure</em> </strong> </span> <strong><em><span style="font-size: 9.5pt;">_</span> </em> </strong> <strong><em><span style="font-size: 9.5pt;">name</span> </em> </strong> <span style="font-size: 9.5pt;"> format for the <strong>-N</strong> option:</span></p>
<p align="left"><span style="font-family: 宋体;"><span style="font-size: 12pt;">ddlgen -Uroy -Proy123 -SHARBOR:1955 -TP -Npubs2.dbo.sp_monitor</span> </span></p>
<p align="left"><span style="font-size: 9.5pt;">Alternatively, you can use specify the <em>dbname</em> using the <strong>-D</strong> option:</span></p>
<p align="left"><span style="font-family: 宋体;"><span style="font-size: 12pt;">ddlgen -U<em>login</em> -P<em>password</em> -S<em>server</em> :<em>port</em> -TP -N<em>owner</em> .<em>procedurename</em> -D<em>dbname</em> </span> </span></p>
<p align="left"><span style="font-size: 9.5pt;">To generate DDL for all stored procedures:</span></p>
<p align="left"><span style="font-family: 宋体;"><span style="font-size: 12pt;">ddlgen -U<em>login</em> -P<em>password</em> -S<em>server</em> :<em>port</em> -TP -N<em>dbname</em> .<em>owner</em> .%</span> </span></p>
<p align="left"><strong><em><span style="font-size: 8.5pt;">Example 23</span> </em> </strong></p>
<p align="left"><em><span style="font-size: 9.5pt;">Tables</span> </em> <span style="font-size: 9.5pt;"> &ndash; Generates DDL for all user tables in the <em>pubs2</em> database owned by &ldquo;dbo&rdquo; and running on a machine named </span> <span style="font-size: 9.5pt;">HARBOR</span> <span style="font-size: 9.5pt;"> using port 1955:</span></p>
<p align="left"><span style="font-family: 宋体;"><span style="font-size: 12pt;">ddlgen -Uroy -Proy123 -SHARBOR:1955 -TU -Ndbo.% -Dpubs2</span> </span></p>
<p align="left"><span style="font-size: 9.5pt;">You can also use the <strong>-N</strong> parameter to give the fully qualified name of the table:</span></p>
<p align="left"><span style="font-family: 宋体;"><span style="font-size: 12pt;">ddlgen -U<em>login</em> -P<em>password</em> -S<em>server</em> :<em>port</em> -TU</span> </span></p>
<p align="left"><span style="font-family: 宋体;"><span style="font-size: 12pt;">&nbsp; &nbsp; -N<em>dbname</em> .<em>tableowner</em> .<em>tablename</em> </span> </span></p>
<p align="left"><span style="font-size: 9.5pt;">Alternatively, you can also use the <strong>-D</strong> parameter to specify the database:</span></p>
<p align="left"><span style="font-family: 宋体;"><span style="font-size: 12pt;">ddlgen -U<em>login</em> -P<em>password</em> -S<em>server</em> :<em>port</em> -TU</span> </span></p>
<p align="left"><span style="font-family: 宋体;"><span style="font-size: 12pt;">&nbsp; &nbsp; -N<em>tableowner</em> .<em>tablename</em> -D<em>dbname</em> </span> </span></p>
<p align="left"><span style="font-size: 9.5pt;">To generate DDL for all proxy tables, which uses the value <em>OD</em> , use <strong>-XOD</strong> instead, where <strong>X</strong> is the extended type, and <strong>OD</strong> denotes proxy tables:</span></p>
<p align="left"><span style="font-family: 宋体;"><span style="font-size: 12pt;">ddlgen -U<em>login</em> -P<em>password</em> -S<em>server</em> :<em>port</em> -TU </span> </span></p>
<p align="left"><span style="font-family: 宋体;"><span style="font-size: 12pt;">&nbsp; &nbsp; -N<em>tableowner</em> .% -D<em>dbname</em> -XOD</span> </span></p>
<p align="left"><span style="font-size: 9.5pt;">To generate DDL for all user tables, which uses the value <em>OU</em> , use <strong>-XOU</strong> instead, where <strong>X</strong> is the extended type, and <strong>OU</strong> denotes user tables:</span></p>
<p align="left"><span style="font-family: 宋体;"><span style="font-size: 12pt;">ddlgen -U<em>login</em> -P<em>password</em> -S<em>server</em> :<em>port</em> -TU </span> </span></p>
<p align="left"><span style="font-family: 宋体;"><span style="font-size: 12pt;">&nbsp; &nbsp; -N<em>tableowner</em> .% -D<em>dbname</em> -XOU</span> </span></p>
<p align="left"><span style="font-size: 9.5pt;">To generate DDL for all tables, including user tables and proxy tables:</span></p>
<p align="left"><span style="font-family: 宋体;"><span style="font-size: 12pt;">ddlgen -U<em>login</em> -P<em>password</em> -S<em>server</em> :<em>port</em> -TU -N<em>dbname</em> .<em>tableowner</em> .%</span> </span></p>
<p align="left"><strong><em><span style="font-size: 8.5pt;">Example 24</span> </em> </strong></p>
<p align="left"><em><span style="font-size: 9.5pt;">Triggers </span> </em> <span style="font-size: 9.5pt;">&ndash; Generates DDL for the trigger <strong>checksum</strong> for the <em>pubs2</em> database on a machine named </span> <span style="font-size: 9.5pt;">HARBOR</span> <span style="font-size: 9.5pt;"> using port 1955, using the fully qualified <strong><em>dbname</em> .<em>owner</em> .<em>trigger</em> </strong> </span> <strong><em><span style="font-size: 9.5pt;">_</span> </em> </strong> <strong><em><span style="font-size: 9.5pt;">name</span> </em> </strong> <span style="font-size: 9.5pt;"> format for the <strong>-N</strong> option:</span></p>
<p align="left"><span style="font-family: 宋体;"><span style="font-size: 12pt;">ddlgen -Uroy -Proy123 -SHARBOR:1955 -TTR -Npubs2.dbo.checksum</span> </span></p>
<p align="left"><span style="font-size: 9.5pt;">Alternatively, you can use specify the <em>database</em> </span> <em><span style="font-size: 9.5pt;">_</span> </em> <em><span style="font-size: 9.5pt;">name</span> </em> <span style="font-size: 9.5pt;"> using the <strong>-D</strong> option:</span></p>
<p align="left"><span style="font-family: 宋体;"><span style="font-size: 12pt;">ddlgen -U<em>login</em> -P<em>password</em> -S<em>server</em> :<em>port</em> -TTR </span> </span></p>
<p align="left"><span style="font-family: 宋体;"><span style="font-size: 12pt;">&nbsp; &nbsp; -N<em>owner</em> .<em>triggername</em> -D<em>dbname</em> </span> </span></p>
<p align="left"><span style="font-size: 9.5pt;">To generate DDL for all triggers:</span></p>
<p align="left"><span style="font-family: 宋体;"><span style="font-size: 12pt;">ddlgen -U<em>login</em> -P<em>password</em> -S<em>server</em> :<em>port</em> -TTR -N<em>dbname</em> .<em>owner</em> .%</span> </span></p>
<p align="left">&nbsp;</p>
<p align="left"><strong><em><span style="font-size: 8.5pt;">Example 25</span> </em> </strong></p>
<p align="left"><em><span style="font-size: 9.5pt;">User-defined datatypes</span> </em> <span style="font-size: 9.5pt;"> &ndash; Generates DDL for the user-defined datatype &ldquo;Identype&rdquo; for the <strong>pubs2</strong> database on a machine named </span> <span style="font-size: 9.5pt;">HARBOR</span> <span style="font-size: 9.5pt;"> using port 1955 using the fully qualified <strong><em>dbname</em> .<em>userdefined</em> </strong> </span> <strong><em><span style="font-size: 9.5pt;">_</span> </em> </strong> <strong><em><span style="font-size: 9.5pt;">datatype</span> </em> </strong> <span style="font-size: 9.5pt;"> format for the <strong>-N</strong> option:</span></p>
<p align="left"><span style="font-family: 宋体;"><span style="font-size: 12pt;">ddlgen -Uroy -Proy123 -SHARBOR:1955 -TUDD -Npubs2.Identype</span> </span></p>
<p align="left"><span style="font-size: 9.5pt;">Alternatively, you can use the <strong>-D</strong> option to specify the <em>dbname</em> :</span></p>
<p align="left"><span style="font-family: 宋体;"><span style="font-size: 12pt;">ddlgen -U<em>login</em> -P<em>password</em> -S<em>server</em> :<em>port</em> -TUDD </span> </span></p>
<p align="left"><span style="font-family: 宋体;"><span style="font-size: 12pt;">&nbsp; &nbsp; -N<em>userdefined_datatype</em> -D<em>dbname</em> </span> </span></p>
<p align="left"><span style="font-size: 9.5pt;">To generate DDL for all user-defined datatypes:</span></p>
<p align="left"><span style="font-family: 宋体;"><span style="font-size: 12pt;">ddlgen -U<em>login</em> -P<em>password</em> -S<em>server</em> :<em>port</em> -TUDD -N<em>bname</em> .%</span> </span></p>
<p align="left"><span style="font-size: 9.5pt;">For example, this generates DDL for all indexes for all tables in the <em>pubs2</em> database</span> <strong><span style="font-size: 8.5pt;">Usage</span> </strong></p>
<p align="left"><span style="font-family: Symbol;"><span style="font-size: 10pt;"><br />
	</span> </span> <strong><span style="font-size: 9.5pt;">ddlgen</span> </strong> <span style="font-size: 9.5pt;"> does not identify existing sequences within views, stored procedures or triggers. For this reason, when generating DDL for a database, you must first run </span> <strong><span style="font-size: 9.5pt;">ddlgen</span> </strong> <span style="font-size: 9.5pt;"> on those views, stored procedures and triggers that are independent, before running </span> <strong><span style="font-size: 9.5pt;">ddlgen</span> </strong> <span style="font-size: 9.5pt;"> on those with dependencies. For example, if view B depends on view A, you must first run </span> <strong><span style="font-size: 9.5pt;">ddlgen</span> </strong> <span style="font-size: 9.5pt;"> on view A, before running it on view B.</span></p>
<p align="left"><span style="font-family: Symbol;"><span style="font-size: 10pt;"><br />
	</span> </span> <span style="font-size: 9.5pt;">The default information for </span> <strong><span style="font-size: 9.5pt;">ddlgen</span> </strong> <span style="font-size: 9.5pt;"> is:</span></p>
<p align="left">&nbsp;</p>
<blockquote>
<p>&nbsp;</p>
<table border="0" cellpadding="0" cellspacing="0" width="725">
<col style="width: 50pt;" width="66" />
<col style="width: 197pt;" width="262" />
<col style="width: 172pt;" width="229" />
<col style="width: 126pt;" width="168" />
<tbody>
<tr height="18" style="height: 13.5pt;">
<td class="xl66" height="18" style="height: 13.5pt; width: 50pt;" width="66"><strong>Option<span style="">&nbsp;</span></strong></td>
<td class="xl66" style="border-left: medium none; width: 197pt;" width="262"><strong>Parameter<span style="">&nbsp;</span></strong></td>
<td class="xl66" style="border-left: medium none; width: 172pt;" width="229"><strong>Required<span style="">&nbsp;</span></strong></td>
<td class="xl66" style="border-left: medium none; width: 126pt;" width="168"><strong>Default<span style="">&nbsp;</span></strong></td>
</tr>
<tr height="18" style="height: 13.5pt;">
<td class="xl67" height="18" style="height: 13.5pt; border-top: medium none; width: 50pt;" width="66">-U<span style="">&nbsp;</span></td>
<td class="xl67" style="border-top: medium none; border-left: medium none; width: 197pt;" width="262">username<span style="">&nbsp;</span></td>
<td class="xl67" style="border-top: medium none; border-left: medium none; width: 172pt;" width="229">Yes</td>
<td class="xl67" style="border-top: medium none; border-left: medium none; width: 126pt;" width="168">None</td>
</tr>
<tr height="18" style="height: 13.5pt;">
<td class="xl67" height="18" style="height: 13.5pt; border-top: medium none; width: 50pt;" width="66">-P<span style="">&nbsp;</span></td>
<td class="xl67" style="border-top: medium none; border-left: medium none; width: 197pt;" width="262">password<span style="">&nbsp;</span></td>
<td class="xl67" style="border-top: medium none; border-left: medium none; width: 172pt;" width="229">Yes</td>
<td class="xl67" style="border-top: medium none; border-left: medium none; width: 126pt;" width="168">None</td>
</tr>
<tr height="36" style="height: 27pt;">
<td class="xl67" height="36" style="height: 27pt; border-top: medium none; width: 50pt;" width="66">-S<span style="">&nbsp;</span></td>
<td class="xl67" style="border-top: medium none; border-left: medium none; width: 197pt;" width="262">host _ name :port _ number<span style="">&nbsp;</span></td>
<td class="xl67" style="border-top: medium none; border-left: medium none; width: 172pt;" width="229">Yes</td>
<td class="xl67" style="border-top: medium none; border-left: medium none; width: 126pt;" width="168">None</td>
</tr>
<tr height="18" style="height: 13.5pt;">
<td class="xl67" height="18" style="height: 13.5pt; border-top: medium none; width: 50pt;" width="66">-T<span style="">&nbsp;</span></td>
<td class="xl67" style="border-top: medium none; border-left: medium none; width: 197pt;" width="262">object _ type<span style="">&nbsp;</span></td>
<td class="xl67" style="border-top: medium none; border-left: medium none; width: 172pt;" width="229">No</td>
<td class="xl67" style="border-top: medium none; border-left: medium none; width: 126pt;" width="168">Database</td>
</tr>
<tr height="18" style="height: 13.5pt;">
<td class="xl67" height="18" style="height: 13.5pt; border-top: medium none; width: 50pt;" width="66">　</td>
<td class="xl67" style="border-top: medium none; border-left: medium none; width: 197pt;" width="262">　</td>
<td class="xl67" style="border-top: medium none; border-left: medium none; width: 172pt;" width="229">　</td>
<td class="xl67" style="border-top: medium none; border-left: medium none; width: 126pt;" width="168">　</td>
</tr>
<tr height="54" style="height: 40.5pt;">
<td class="xl67" height="54" style="height: 40.5pt; border-top: medium none; width: 50pt;" width="66">　</td>
<td class="xl67" style="border-top: medium none; border-left: medium none; width: 197pt;" width="262">See the -T parameter description for a list of valid object types</td>
<td class="xl67" style="border-top: medium none; border-left: medium none; width: 172pt;" width="229">　</td>
<td class="xl67" style="border-top: medium none; border-left: medium none; width: 126pt;" width="168">　</td>
</tr>
<tr height="90" style="height: 67.5pt;">
<td class="xl67" height="90" style="height: 67.5pt; border-top: medium none; width: 50pt;" width="66">-N<span style="">&nbsp;</span></td>
<td class="xl67" style="border-top: medium none; border-left: medium none; width: 197pt;" width="262">object _ name<span style="">&nbsp;</span></td>
<td class="xl67" style="border-top: medium none; border-left: medium none; width: 172pt;" width="229">Yes, if object _ type for -T is not DB (database)</td>
<td class="xl67" style="border-top: medium none; border-left: medium none; width: 126pt;" width="168">Default database name of username , if -Tobject _ type is db or if -T is not specified</td>
</tr>
<tr height="36" style="height: 27pt;">
<td class="xl67" height="36" style="height: 27pt; border-top: medium none; width: 50pt;" width="66">-D<span style="">&nbsp;</span></td>
<td class="xl67" style="border-top: medium none; border-left: medium none; width: 197pt;" width="262">database _ name<span style="">&nbsp;</span></td>
<td class="xl67" style="border-top: medium none; border-left: medium none; width: 172pt;" width="229">No</td>
<td class="xl67" style="border-top: medium none; border-left: medium none; width: 126pt;" width="168">Default database of username<span style="">&nbsp;</span></td>
</tr>
<tr height="54" style="height: 40.5pt;">
<td class="xl67" height="54" style="height: 40.5pt; border-top: medium none; width: 50pt;" width="66">-X<span style="">&nbsp;</span></td>
<td class="xl67" style="border-top: medium none; border-left: medium none; width: 197pt;" width="262">extended _ object _ type<span style="">&nbsp;</span></td>
<td class="xl67" style="border-top: medium none; border-left: medium none; width: 172pt;" width="229">No; use only when the object _ type for -T is U (user table), P (procedure), DB (database)</td>
<td class="xl67" style="border-top: medium none; border-left: medium none; width: 126pt;" width="168">None</td>
</tr>
<tr height="18" style="height: 13.5pt;">
<td class="xl67" height="18" style="height: 13.5pt; border-top: medium none; width: 50pt;" width="66">　</td>
<td class="xl67" style="border-top: medium none; border-left: medium none; width: 197pt;" width="262">　</td>
<td class="xl67" style="border-top: medium none; border-left: medium none; width: 172pt;" width="229">　</td>
<td class="xl67" style="border-top: medium none; border-left: medium none; width: 126pt;" width="168">　</td>
</tr>
<tr height="18" style="height: 13.5pt;">
<td class="xl67" height="18" style="height: 13.5pt; border-top: medium none; width: 50pt;" width="66">　</td>
<td class="xl67" style="border-top: medium none; border-left: medium none; width: 197pt;" width="262">Options are:</td>
<td class="xl67" style="border-top: medium none; border-left: medium none; width: 172pt;" width="229">　</td>
<td class="xl67" style="border-top: medium none; border-left: medium none; width: 126pt;" width="168">　</td>
</tr>
<tr height="18" style="height: 13.5pt;">
<td class="xl67" height="18" style="height: 13.5pt; border-top: medium none; width: 50pt;" width="66">　</td>
<td class="xl67" style="border-top: medium none; border-left: medium none; width: 197pt;" width="262">　</td>
<td class="xl67" style="border-top: medium none; border-left: medium none; width: 172pt;" width="229">　</td>
<td class="xl67" style="border-top: medium none; border-left: medium none; width: 126pt;" width="168">　</td>
</tr>
<tr height="18" style="height: 13.5pt;">
<td class="xl67" height="18" style="height: 13.5pt; border-top: medium none; width: 50pt;" width="66">　</td>
<td class="xl67" style="border-top: medium none; border-left: medium none; width: 197pt;" width="262">o</td>
<td class="xl67" style="border-top: medium none; border-left: medium none; width: 172pt;" width="229">　</td>
<td class="xl67" style="border-top: medium none; border-left: medium none; width: 126pt;" width="168">　</td>
</tr>
<tr height="108" style="height: 81pt;">
<td class="xl67" height="108" style="height: 81pt; border-top: medium none; width: 50pt;" width="66">　</td>
<td class="xl67" style="border-top: medium none; border-left: medium none; width: 197pt;" width="262">OU &ndash; for user tables, user databases (excluding temporary databases), and stored procedures (excluding SQLJ procedures).</td>
<td class="xl67" style="border-top: medium none; border-left: medium none; width: 172pt;" width="229">　</td>
<td class="xl67" style="border-top: medium none; border-left: medium none; width: 126pt;" width="168">　</td>
</tr>
<tr height="18" style="height: 13.5pt;">
<td class="xl67" height="18" style="height: 13.5pt; border-top: medium none; width: 50pt;" width="66">　</td>
<td class="xl67" style="border-top: medium none; border-left: medium none; width: 197pt;" width="262">　</td>
<td class="xl67" style="border-top: medium none; border-left: medium none; width: 172pt;" width="229">　</td>
<td class="xl67" style="border-top: medium none; border-left: medium none; width: 126pt;" width="168">　</td>
</tr>
<tr height="18" style="height: 13.5pt;">
<td class="xl67" height="18" style="height: 13.5pt; border-top: medium none; width: 50pt;" width="66">　</td>
<td class="xl67" style="border-top: medium none; border-left: medium none; width: 197pt;" width="262">o</td>
<td class="xl67" style="border-top: medium none; border-left: medium none; width: 172pt;" width="229">　</td>
<td class="xl67" style="border-top: medium none; border-left: medium none; width: 126pt;" width="168">　</td>
</tr>
<tr height="54" style="height: 40.5pt;">
<td class="xl67" height="54" style="height: 40.5pt; border-top: medium none; width: 50pt;" width="66">　</td>
<td class="xl67" style="border-top: medium none; border-left: medium none; width: 197pt;" width="262">OD &ndash; for proxy tables, temporary databases, and SQLJ procedures.</td>
<td class="xl67" style="border-top: medium none; border-left: medium none; width: 172pt;" width="229">　</td>
<td class="xl67" style="border-top: medium none; border-left: medium none; width: 126pt;" width="168">　</td>
</tr>
<tr height="18" style="height: 13.5pt;">
<td class="xl67" height="18" style="height: 13.5pt; border-top: medium none; width: 50pt;" width="66">-O<span style="">&nbsp;</span></td>
<td class="xl67" style="border-top: medium none; border-left: medium none; width: 197pt;" width="262">output _ file _ name<span style="">&nbsp;</span></td>
<td class="xl67" style="border-top: medium none; border-left: medium none; width: 172pt;" width="229">No</td>
<td class="xl67" style="border-top: medium none; border-left: medium none; width: 126pt;" width="168">Standard out</td>
</tr>
<tr height="18" style="height: 13.5pt;">
<td class="xl67" height="18" style="height: 13.5pt; border-top: medium none; width: 50pt;" width="66">-E<span style="">&nbsp;</span></td>
<td class="xl67" style="border-top: medium none; border-left: medium none; width: 197pt;" width="262">error _ file _ name<span style="">&nbsp;</span></td>
<td class="xl67" style="border-top: medium none; border-left: medium none; width: 172pt;" width="229">No</td>
<td class="xl67" style="border-top: medium none; border-left: medium none; width: 126pt;" width="168">Standard out</td>
</tr>
<tr height="18" style="height: 13.5pt;">
<td class="xl67" height="18" style="height: 13.5pt; border-top: medium none; width: 50pt;" width="66">-L<span style="">&nbsp;</span></td>
<td class="xl67" style="border-top: medium none; border-left: medium none; width: 197pt;" width="262">log _ file _ name<span style="">&nbsp;</span></td>
<td class="xl67" style="border-top: medium none; border-left: medium none; width: 172pt;" width="229">No</td>
<td class="xl67" style="border-top: medium none; border-left: medium none; width: 126pt;" width="168">None</td>
</tr>
<tr height="36" style="height: 27pt;">
<td class="xl67" height="36" style="height: 27pt; border-top: medium none; width: 50pt;" width="66">-V<span style="">&nbsp;</span></td>
<td class="xl67" style="border-top: medium none; border-left: medium none; width: 197pt;" width="262">version _ number of ddlgen<span style="">&nbsp;</span></td>
<td class="xl67" style="border-top: medium none; border-left: medium none; width: 172pt;" width="229">No</td>
<td class="xl67" style="border-top: medium none; border-left: medium none; width: 126pt;" width="168">None</td>
</tr>
</tbody>
</table>
</blockquote>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p align="left"><span style="font-size: 9.5pt;">At the command line, invoke </span> <strong><span style="font-size: 9.5pt;">ddlgen</span> </strong> <span style="font-size: 9.5pt;"> using the </span> <em><span style="font-size: 9.5pt;">ddlgen</span> </em> <span style="font-size: 9.5pt;"> shell script file (</span> <em><span style="font-size: 9.5pt;">ddlgen.bat</span> </em> <span style="font-size: 9.5pt;"> for Windows), included in your Adaptive Server installation. The main class in </span> <em><span style="font-size: 9.5pt;">DDLGen.jar</span> </em> <span style="font-size: 9.5pt;"> is </span> <em><span style="font-size: 9.5pt;">com.sybase.ddlgen.DDLGenerator</span> </em> <span style="font-size: 9.5pt;">.</span></p>
<p align="left"><span style="font-family: Symbol;"><span style="font-size: 10pt;"><br />
	</span> </span> <span style="font-size: 9.5pt;">To start </span> <strong><span style="font-size: 9.5pt;">ddlgen</span> </strong> <span style="font-size: 9.5pt;"> in the Sybase Central plug-in for Adaptive Server:</span></p>
<p align="left"><span style="font-size: 9.5pt;">a.</span><span style="font-size: 9.5pt;">Right-click on the object for which you want to generate DDL.</span></p>
<p align="left"><span style="font-size: 9.5pt;">b.</span><span style="font-size: 9.5pt;">Select <strong>Generate DDL</strong> .</span></p>
<p align="left"><span style="font-family: Symbol;"><span style="font-size: 10pt;"><br />
	</span> </span> <span style="font-size: 9.5pt;">In the output DDL of <strong>create table</strong> , bind statements are generated as independent DLL instead of dependent DLL.</span></p>
<p align="left">&nbsp;</p>
<p align="left"><strong><span style="font-size: 8.5pt;">Filters</span> </strong></p>
<p align="left"><span style="font-size: 9.5pt;">If you use an invalid filter parameter, </span> <strong><span style="font-size: 9.5pt;">ddlgen</span> </strong> <span style="font-size: 9.5pt;"> generates a warning, ignores that parameter, and continues with the rest of the valid parameters you specify.</span></p>
<p align="left"><span style="font-size: 9.5pt;">If you specify <strong>%</strong> along with other filter parameters, </span> <span style="font-size: 9.5pt;">ddlgen</span> <span style="font-size: 9.5pt;"> ignores all other filterable parameters, and only shows schema-only definitions. </span> <strong><span style="font-size: 9.5pt;">ddlgen</span> </strong> <span style="font-size: 9.5pt;"> then continues to evaluate the dependencies within the subset of the applied as the filterable parameters for the database. </span></p>
<p align="left"><strong><span style="font-size: 8.5pt;">Permissions</span> </strong></p>
<p align="left"><span style="font-size: 12px;">Since <strong>ddlgen </strong>needs to obtain data from system catalogs, users must either be logged in as &ldquo;dbo&rdquo; or have <strong>select </strong>permissions on syscatalogs .</span></p>
<p align="left">&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;-<br />
	&mdash;- 本文为andkylee个人原创，请在尊重作者劳动成果的前提下进行转载；<br />
	&mdash;- 转载务必注明原始出处 :<a href="../" target="_blank" title="http://www.dbainfo.net"> http://www.dbainfo.net</a><br />
	&mdash;- 关键字：ddlgen 表结构<br />
	&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;-</p>
<div style="clear: both; margin: 10px 0pt; border: 1px dashed rgb(153, 153, 153); font-size: 12px; padding: 5px 10px;">
<li>本文链接地址：<a href="https://www.dbainfo.net/sybase-ase-get-object-ddl-with-ddlgen.htm">https://www.dbainfo.net/sybase-ase-get-object-ddl-with-ddlgen.htm</a>；</li>
<li>本文为dbainfo个人原创，请在尊重作者劳动成果的前提下进行转载；</li>
<li>转载务必注明原始出处 : <a href="https://www.dbainfo.net/">Sybase数据库技术，数据库恢复专家</a>；</li>
<li>对《<a href="https://www.dbainfo.net/sybase-ase-get-object-ddl-with-ddlgen.htm">用DDLGEN从ASE数据库中提取对象的定义语法</a>》有何疑问或见解，请在本文下方发表；</li>
<li>对网站还有其他问题或建议，请提交在<a href="https://www.dbainfo.net/messages" target="_blank">留言板</a>，谢谢！</li>
</div>
<h2  class="related_post_title">相关文章</h2><ul class="related_post"><li>2014-08-19 -- <a href="https://www.dbainfo.net/some-useful-ddlgen-command.htm" title="ddlgen的常用语句">ddlgen的常用语句</a> (0)</li><li>2011-09-19 -- <a href="https://www.dbainfo.net/steps-to-imigrate-sybase-ase-database-on-aix-platform.htm" title="AIX平台上Sybase ASE数据库迁移步骤">AIX平台上Sybase ASE数据库迁移步骤</a> (0)</li><li>2010-08-24 -- <a href="https://www.dbainfo.net/sybase-ase-table-newcolumn-place.htm" title="调整新添加的列在表中的位置,调整数据库表中列的位置">调整新添加的列在表中的位置,调整数据库表中列的位置</a> (1)</li></ul>]]></content:encoded>
			<wfw:commentRss>https://www.dbainfo.net/sybase-ase-get-object-ddl-with-ddlgen.htm/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
