我正在尝试将varchar列的长度从255个字符更新为500个而不丢失内容。我之前已经删除并重新创建了表,但是我从未接触过alter语句,这是我认为需要使用的语句。我在这里找到了文档:ALTER TABLE(Transfact-SQL),但是我无法做到这一点。
到目前为止,我有以下内容(不幸的是,基本上没有任何内容):
alter table [progennet_dev].PROGEN.LE alter column UR_VALUE_3
我该如何处理?是否有更好的文档来处理此语句(我对示例语句进行了一些搜索,但结果是空的)?
你需要
ALTER TABLE YourTable ALTER COLUMN YourColumn <<new_datatype>> [NULL | NOT NULL]
但是,请记住NOT NULL在需要时明确指定。
NOT NULL
ALTER TABLE YourTable ALTER COLUMN YourColumn VARCHAR (500) NOT NULL;
如果未指定,则如下所示…
ALTER TABLE YourTable ALTER COLUMN YourColumn VARCHAR (500);
然后,即使该列最初定义为,该列也将默认允许为空NOT NULL。即,省略中的规范ALTER TABLE ... ALTER COLUMN始终被视为。
ALTER TABLE ... ALTER COLUMN
ALTER TABLE YourTable ALTER COLUMN YourColumn VARCHAR (500) NULL;
此行为不同于使用ALTER TABLE(或CREATE TABLE有时)创建的新列所使用的行为。那里的默认可空性取决于ANSI_NULL_DFLT设置。
ALTER TABLE
CREATE TABLE
ANSI_NULL_DFLT