小编Mil*_*n X的帖子

具有不同列的T-SQL联合

我有两个表,其中包含以下数据:

[Animals].[Males]
DataID                               HerdNumber HerdID  NaabCode
e46fff54-a784-46ed-9a7f-4c81e649e6a0 4          'GOLDA' '7JE1067'
fee3e66b-7248-44dd-8670-791a6daa5d49 1          '35'    NULL

[Animals].[Females]
DataID                               HerdNumber HerdID   BangsNumber
987110c6-c938-43a7-a5db-194ce2162a20 1          '9'      'NB3829483909488'
1fc83693-9b8a-4054-9d79-fbd66ee99091 2          'NATTIE' 'ID2314843985499'
Run Code Online (Sandbox Code Playgroud)

我想将这些表合并到一个如下所示的视图中:

DataID                               HerdNumber HerdID   NaabCode  BangsNumber
e46fff54-a784-46ed-9a7f-4c81e649e6a0 4          'GOLDA'  '7JE1067' NULL
fee3e66b-7248-44dd-8670-791a6daa5d49 1          '35'     NULL      NULL
987110c6-c938-43a7-a5db-194ce2162a20 1          '9'      NULL      'NB3829483909488'
1fc83693-9b8a-4054-9d79-fbd66ee99091 2          'NATTIE' NULL      'ID2314843985499'`
Run Code Online (Sandbox Code Playgroud)

当我用UNION关键字,SQL服务器产生的合并了的视图NaabCodeBangsNumber成一列.我在常规SQL上的一本书建议UNION CORRESPONDING语法如下:

SELECT *
FROM [Animals].[Males]
UNION CORRESPONDING (DataID, HerdNumber, HerdID)
SELECT *
FROM [Animals].[Females]`
Run Code Online (Sandbox Code Playgroud)

但是当我输入这个SQL Server时,"CORRESPONDING'附近的语法不正确."

谁能告诉我如何实现我想要的结果和/或如何UNION …

sql sql-server

6
推荐指数
1
解决办法
389
查看次数

在 Julia 中将整数数组转换为字符串数组

有没有办法在 Julia 中将整数(或任何数字)数组转换为字符串数组?本质上,我想转换[1 2 3 4]["1" "2" "3" "4"].

不起作用的东西:

numbers = [1 2 3 4];
strings = ["1" "2" "3" "4"];
string(numbers)
convert(Array{String}, numbers)
Run Code Online (Sandbox Code Playgroud)

输出:

"[1 2 3 4]"
ERROR: MethodError: Cannot `convert` an object of type Int64 to an object of type String
...
Run Code Online (Sandbox Code Playgroud)

我正在使用 Juila 1.3.1

arrays type-conversion julia

5
推荐指数
1
解决办法
1052
查看次数

如何跨多个表强制执行 CHECK 约束

我有一个数据库,用于记录 Microsoft SQL Server 2012 Express 中奶牛的繁殖信息。显然,一头母牛要等到出生后才能繁殖,一生中可能会繁殖多次;我需要在我的数据库中强制执行这些约束。我目前已经根据下图安排了一个架构:

Cow 数据库架构图

DataID是所有动物的主键。我试图实现 Table-Per-Type 继承,因此[Animals].[Master]和之间的一对一关系[Animals].[Females]。由于每个雌性可能被繁殖多次,我在[Animals].[Females]和之间建立了一对多的关系[Breedings].[Breedings]

我的问题是:我怎样才能为所有女性执行一个规则BirthDate< Breedings.Date

我基本上需要类似于以下伪代码的东西(我实际上已经将其放入 CHECK 约束的“表达式”框中并收到了验证错误):

[Animals].[Master].[BirthDate] < [Breedings].[Breedings].[Date]
INNER JOIN [Animals].[Master] ON
[Breedings].[Breedings].[DataID] = [Animals].[Master].[DataID]
Run Code Online (Sandbox Code Playgroud)

我也试过用正确的连接创建一个视图,但发现 CHECK 约束不能在视图中使用。

那么,有谁知道我如何强制执行这些约束?

编辑- 我尝试了使用触发器的建议,但无法正确制定触发器语法。这是我的代码:

USE [CowInventory];
GO
CREATE TRIGGER [Breedings].[iCheckBreedingDateAfterBirthDate]
ON [Breedings].[Breedings]
FOR INSERT
AS
BEGIN
    DECLARE @CowID UniqueIdentifier
    SELECT @CowID = DataID FROM inserted;

    DECLARE @CowBirthDate Date
    SELECT @CowBirthDate = BirthDate FROM [Animals].[Master] WHERE [Master].[DataID] = @CowID

    DECLARE @BreedingDate Date …
Run Code Online (Sandbox Code Playgroud)

t-sql database sql-server check-constraints

3
推荐指数
1
解决办法
4593
查看次数