我可以使用identity作为列默认约束中的函数的参数吗?

时间:2015-04-10 07:53:28

标签: sql-server tsql

我有一个包含MyTable

列的表Id, OtherId, HashID

我还有一个名为hashids.encode2B的t-sql函数。此函数接受两个值,并给出AZaz09编码的“哈希”。

我是否可以使用encode2B函数作为HashID列的默认值,同时还使用IdOtherID作为参数?< / p>

1 个答案:

答案 0 :(得分:2)

您可以创建计算列。

    CREATE FUNCTION fn_test 
    (
        -- Add the parameters for the function here
        @id int, @id2 int
    )
    RETURNS int
    AS
    BEGIN

        RETURN @id + @id2

    END
    GO



    CREATE TABLE MyTable
    (
        Id INT,
        OtherId INT,
        HashId AS dbo.fn_test(id, otherid) 
    )

    INSERT INTO MyTable (id, OtherId) VALUES (1,2);

    SELECT * FROM MyTable;

Id  OtherId HashId
1   2   3