📄 subject_43813.htm
字号:
<p>
序号:43813 发表者:晓飞 发表日期:2003-06-14 02:46:08
<br>主题:用transact_sql写默认值
<br>内容:建立了一个数据库..有一列sex是性别的列。<BR>create table My通信<BR><BR><BR> (name_id int constraint id primary key identity(1,1) ,name char (10) not null ,<BR><BR>sex char (6) not null,年纪 tinyint not null,电话 varchar(20) not null,手机 varchar(20) not null,<BR><BR>邮政编码 varchar(15) not null,Email varchar (30) not null,工作职务 char(100) not null,<BR><BR>工作单位 char (100) not null,工作地址 varchar(200) not null);<BR><BR>现在我想为列sex设置一个默认的值为男 ,我是这样写的<BR><BR>use my数据库<BR><BR>go<BR><BR>create default def_sex<BR><BR>as 男<BR><BR>go<BR><BR>提示一错误.服务器: 消息 128,级别 15,状态 1,过程 sex2,行 4<BR>在此上下文中不允许使用 '男'。此处只允许使用常量、表达式或变量。不允许使用列名。<BR><BR>要怎样的写才是正确的勒?<BR>我知道建立了默认值还要用sq_bindefault系统存储过程来把默认值<BR>和表列的绑定..<BR>可我现在建立默认植这一步都不能通过我急急。。。。。<BR>
<br><a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p>
<hr size=1>
<blockquote><p>
回复者:世外高人 回复日期:2003-06-14 07:24:23
<br>内容://创表<BR>1> create table Mytongxin<BR>2> (name_id int identity(1,1) constraint id primary key ,<BR>3> name char (10) not null ,<BR>4> sex char (6) default '男',<BR>5> 年纪 tinyint not null,<BR>6> 电话 varchar(20) not null,<BR>7> 手机 varchar(20) not null,<BR>8> 邮政编码 varchar(15) not null,<BR>9> Email varchar (30) not null,<BR>10> 工作职务 char(100) not null,<BR>11> 工作单位 char (100) not null,<BR>12> 工作地址 varchar(200) not null);<BR>13> go<BR><BR>//插入操作(没有为自动列,和默认列赋值)<BR>1> insert mytongxin(name,年纪,电话,手机,邮政编码,email,工作职务,工作单位,工作地<BR>址)<BR>2> values('name1','22','07993343333','13979296008','330023','fk@sina.com','程序<BR>员','软件公司','中国大陆路')<BR>3> go<BR>(1 行受到影响)<BR><BR>//查询,默认列和标识列都有值了<BR>1> select * from mytongxin<BR>2> go<BR> name_id name sex 年纪 电话 手机<BR><BR> 邮政编码 Email<BR> 工作职务<BR><BR><BR> 工作单位<BR><BR><BR> 工作地址<BR><BR><BR><BR><BR> ----------- ---------- ------ ---- -------------------- --------------------<BR> --------------- ------------------------------<BR> ------------------------------------------------------------------------<BR><BR> ----------------------------<BR> ------------------------------------------------------------------------<BR><BR> ----------------------------<BR> ------------------------------------------------------------------------<BR><BR> ------------------------------------------------------------------------<BR><BR> --------------------------------------------------------<BR> 1 name1 男 22 07993343333 13979296008<BR> 330023 fk@sina.com<BR> 程序员<BR><BR><BR> 软件公司<BR><BR><BR> 中国大陆路<BR><BR><BR><BR><BR><BR>(1 行受到影响)
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
<font color=red>答案被接受</font><br>回复者:. 回复日期:2003-06-14 08:10:25
<br>内容:USE yourdb<BR>GO<BR>create default yourdef AS '男'<BR>GO<BR>sp_bindefault yourdef, 'yourtable.field'<BR>GO<BR>
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:晓飞 回复日期:2003-06-15 00:05:43
<br>内容:二楼所写的好象不行,我要的是为一列设置一个默认的值。<BR>三楼所写的正是我想要的.也许是我的提问说的不清楚吧<BR>我的错误在没有在设置的时候同时把默认值和列绑定所以出错了<BR>USE yourdb<BR>GO<BR>create default yourdef AS '男'<BR>GO<BR><BR>我是这样些因该:<BR>USE yourdb<BR>GO<BR>create default yourdef AS '男'<BR>GO<BR>sp_bindefault yourdef, 'yourtable.field'<BR>GO<BR>才是正确的<BR><BR>
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:晓飞 回复日期:2003-06-15 02:14:26
<br>内容:现在又有新的问题了如下:<BR>1。这是我建立表格的语法<BR>create table My通信<BR><BR><BR> (name_id int constraint id primary key identity(1,1) ,name char (10) not null ,<BR><BR>sex char (6) not null,年纪 tinyint not null,电话 varchar(20) not null,手机 varchar(20) not null,<BR><BR>邮政编码 varchar(15) not null,Email varchar (30) not null,工作职务 char(100) not null,<BR><BR>工作单位 char (100) not null,工作地址 varchar(200) not null);<BR><BR><BR>2.设置默认值和绑定到列<BR>use my数据库<BR><BR>go<BR><BR><BR>create default def_sex<BR><BR>as '男'<BR><BR>go<BR><BR>sp_bindefault 'def_sex','my通信.sex'<BR><BR>go<BR><BR>3.插入数据<BR><BR>use my数据库<BR><BR>go<BR><BR>insert into my通信<BR><BR>values<BR><BR>('雷勇','','28','0739-3326192','13005715219','423406','yel798@sina.com.cn','教师','东江师范','东江师范')<BR><BR>go<BR><BR>插入以后是成功的但是我查看的时候<BR> 14 雷勇 28 0739-3326192 13005715219 423406 yel798@sina.com.cn 教师 东江师范 东江师范<BR><BR>可以发现sex(性别一列根本就没有默认设置为男.<BR><BR>这是为什么而且我在企业管理器中直接修改sex列雷勇的行的时候却提示说输入的值与数据类型不一致或者此值与列的长度不一致。<BR>但是我如果用transact-sql语言写的时候写做:<BR><BR>use my数据库<BR><BR>go<BR><BR>insert into my通信<BR><BR>values<BR><BR>('雷勇','男','28','0739-3326192','13005715219','423406','yel798@sina.com.cn','教师','东江师范','东江师范')<BR><BR>go<BR><BR>却能成功那就证明<BR>输入的值与数据类型一致此值与列的长度也是一致的<BR><BR><BR>这几个问题到底是怎么回事!<BR>
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:晓飞 回复日期:2003-06-15 02:21:02
<br>内容:偶已经琢磨很久了都没找到个结果耶!!!
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -