我有这种关系.我必须暂时销毁它只是为了使用SQL命令更改"salID"字段的大小:
ALTER TABLE Adressen DROP CONSTRAINT [ChildTableMainTable]
Run Code Online (Sandbox Code Playgroud)
如何使用SQL命令重新创建相同的关系类型?如果我使用下一个SQL,我会得到一对多的关系.这不是我需要的:
ALTER TABLE MainTable ADD CONSTRAINT [ChildTableMainTable] FOREIGN KEY (salID) REFERENCES [ChildTable] (ChildPK);
Run Code Online (Sandbox Code Playgroud)
如果查询没有返回结果,我可以设置变量吗?
DECLARE @Output AS VARCHAR(MAX);
SELECT @Output = 'Old';
SELECT @Output = 'New' WHERE 0 = 1;
PRINT @Output;
Run Code Online (Sandbox Code Playgroud)
输出值为:旧
预期值为:NULL
我使用SQL Server.
与分部合作我在这两个您可以使用SQL Server版本重现的查询中收集了我的发现.
我希望Division with Integer在这两种情况下具有相同的值.因为无论我的表中的值如何,如果我得到意想不到的结果,我最终会得到一个逻辑错误,有时很难调查.
SQL A:
WITH s AS (
SELECT 'Integer' AS c, 1 AS k UNION
SELECT 'Float', 1 UNION
SELECT 'NULL', NULL
)
SELECT
c AS [Type],
k/10 AS 'Division',
CAST(k as numeric(38,4))/10 AS 'Cast',
COALESCE(k, 0)/10 AS 'Coalesce',
COALESCE(k, .0)/10 AS 'Coalesce with float'
FROM s;
Run Code Online (Sandbox Code Playgroud)
结果A.
Type Division Cast Coalesce Coalesce with float
Float 0 0.100000 0 0.100000
Integer 0 0.100000 0 0.100000
NULL NULL NULL 0 0.000000
Run Code Online (Sandbox Code Playgroud)
SQL B:
WITH s …
Run Code Online (Sandbox Code Playgroud)