? SELECT * FROM TABLE WHERE IO=2 UPDATE TABLE SET IO=3 WHERE IO=2
我是问怎么用SQL语句读取和修改默认值
查看默认值可以用系统存储过程sp_helpconstraint,后跟表名做参数 或者 select c.cdefault, 'DEFAULT on column ' + c.name + ' (bound with sp_bindefault)', object_name(c.cdefault),object_name(c.cdefault), text, 'D ' from syscolumns c,syscomments m where c.id = object_id('表名') and m.id = c.cdefault and ObjectProperty(c.cdefault, 'IsConstraint') = 1 and c.name='列名'删除该约束名 ALTER TABLE 表名 DROP CONSTRAINT 约束名重新添加约束名 alter table 表名 add constraint 约束名 default '默认值' for 列名
总算搞出来了,分享一下要修改字段的默认值名首先,必须用Jet-SQL方式打开,也就是说打字的链接字符为 provider=microsoft.jet.oledb.4.0;data source=c:\db.mdb再次,书写SQL语句 Alter Table [表名] Alter column [字段名] varchar(50) default 新的默认值最后,执行SQL语句必须用ADO的命令直接执行,不能用查询语句执行,如 set conn=server.createobject("adodb.connection") conn.open connstr conn.execute(sql)
一 默认值 --得到字段的约束值 select com.text from syscolumns col left join syscomments com on col.cdefault =com.id where col.name ='ischange' --where col.name ='字段名' --更详细信息 select c.name,o.name,m.text from syscolumns c,sysobjects o ,syscomments m where c.id = o.id and c.cdefault =m.id and o.type = 'U' and c.name='IsChange'二 约束的修改 必须先删除,在去添加,不能直接修改约束
我注册这个帐号就是为了回答这个问题的。随然问题已经过去两年了。我今天在网上搜了一天也没有搜到一个完美答案。 以下是我测试出来的一个答案===功能:读取access字段默认值=== Dim catDB As ADOX.Catalog 'ADOX对象变量 Dim morenzhi As string Set catDB = New ADOX.Catalog '设置ADOX catDB.ActiveConnection = Conn '把数据库链接字符串conn赋给新建对象的activeconnection属性 MsgBox catDB.Tables(表名).Columns(字段名称).Properties("Default").Value '以对话形式把默认值输出。当然也可以把这句赋给一个文本框或变量。
SELECT * FROM TABLE WHERE IO=2
UPDATE TABLE SET IO=3 WHERE IO=2
或者
select c.cdefault, 'DEFAULT on column ' + c.name + ' (bound with sp_bindefault)',
object_name(c.cdefault),object_name(c.cdefault), text, 'D '
from syscolumns c,syscomments m
where c.id = object_id('表名') and m.id = c.cdefault and ObjectProperty(c.cdefault, 'IsConstraint') = 1 and c.name='列名'删除该约束名
ALTER TABLE 表名 DROP CONSTRAINT 约束名重新添加约束名
alter table 表名 add constraint 约束名 default '默认值' for 列名
provider=microsoft.jet.oledb.4.0;data source=c:\db.mdb再次,书写SQL语句
Alter Table [表名] Alter column [字段名] varchar(50) default 新的默认值最后,执行SQL语句必须用ADO的命令直接执行,不能用查询语句执行,如
set conn=server.createobject("adodb.connection")
conn.open connstr
conn.execute(sql)
一 默认值
--得到字段的约束值
select com.text from syscolumns col left join syscomments com on col.cdefault =com.id
where col.name ='ischange'
--where col.name ='字段名'
--更详细信息
select c.name,o.name,m.text from syscolumns c,sysobjects o ,syscomments m
where c.id = o.id and c.cdefault =m.id and o.type = 'U'
and c.name='IsChange'二 约束的修改
必须先删除,在去添加,不能直接修改约束
以下是我测试出来的一个答案===功能:读取access字段默认值===
Dim catDB As ADOX.Catalog 'ADOX对象变量
Dim morenzhi As string
Set catDB = New ADOX.Catalog '设置ADOX
catDB.ActiveConnection = Conn '把数据库链接字符串conn赋给新建对象的activeconnection属性
MsgBox catDB.Tables(表名).Columns(字段名称).Properties("Default").Value '以对话形式把默认值输出。当然也可以把这句赋给一个文本框或变量。