Sql 两个查询是否相等?
我不知道这些疑问是否相等?有什么区别Sql 两个查询是否相等?,sql,sql-server-2008,Sql,Sql Server 2008,我不知道这些疑问是否相等?有什么区别 ALTER TABLE agent1 MODIFY commission DEFAULT .05; ALTER TABLE agent1 add constraint myconst default(commission=0.05) 您的语法可能来自MySQL或Oracle。在SQL Server中,有两种向现有列添加约束的方法: (摘自) 如果不提供约束名称,SQL Server将为您创建一个约束名称 这将列出表x8中的所有约束: SELEC
ALTER TABLE agent1
MODIFY commission DEFAULT .05;
ALTER TABLE agent1
add constraint myconst default(commission=0.05)
您的语法可能来自MySQL或Oracle。在SQL Server中,有两种向现有列添加约束的方法: (摘自) 如果不提供约束名称,SQL Server将为您创建一个约束名称 这将列出表x8中的所有约束:
SELECT OBJECT_NAME(object_id) AS Name,
SCHEMA_NAME(schema_id) AS [Schema] ,
[type_desc] AS [Type]
FROM [sys].[objects]
WHERE [type_desc] LIKE '%CONSTRAINT' AND OBJECT_NAME(parent_object_id)='x8'
Constraint Schema Type
DF_x8_name dbo DEFAULT_CONSTRAINT
DF_x8_date1 dbo DEFAULT_CONSTRAINT
DF__x8__x6__117F9D9 dbo DEFAULT_CONSTRAINT
DF_PropertySetting_Active dbo DEFAULT_CONSTRAINT
t55 dbo CHECK_CONSTRAINT
正如您可以猜到的,每个约束(第三个除外)都是在创建时显式命名的。SQL Server创建了第三个名称
通过发出以下命令,可以使用内置系统视图获取所有检查和/或默认约束的列表:
select * from sys.check_constraints
or
select * from sys.default_constraints
它们不能等价,因为第一个语法不正确。修改?你确定你有sql server吗?区别在于,在第二种方法中,你可以指定约束的名称,而不是让sql server为你选择。是的,第二种方法是目前为止首选的方法。
select * from sys.check_constraints
or
select * from sys.default_constraints