Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/272.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 生成自动递增字符串主键的存储过程_C#_Sql Server - Fatal编程技术网

C# 生成自动递增字符串主键的存储过程

C# 生成自动递增字符串主键的存储过程,c#,sql-server,C#,Sql Server,我刚开始学习存储过程,我想创建一个包含常量部分和自动增量部分的字符串主键。例如“REP101、REP102”REP103 我发现的其他方法有两列,一个是自动递增的int列,另一个是以REP作为前缀的主键列 我正在寻找一种检索表中最后一行并使用存储过程返回其键的方法,这样我就可以在C#代码中使用它。任何其他可以实现相同结果的方法都将受到欢迎。在我看来,如果每个主键值都将以“REP”作为前缀,那么您实际上根本不需要前缀,而且您可以简单地使用列作为主键。这样您就根本不需要存储过程,这将更加高效。a将更

我刚开始学习存储过程,我想创建一个包含常量部分和自动增量部分的字符串主键。例如“REP101、REP102”REP103

我发现的其他方法有两列,一个是自动递增的int列,另一个是以REP作为前缀的主键列


我正在寻找一种检索表中最后一行并使用存储过程返回其键的方法,这样我就可以在C#代码中使用它。任何其他可以实现相同结果的方法都将受到欢迎。

在我看来,如果每个主键值都将以“REP”作为前缀,那么您实际上根本不需要前缀,而且您可以简单地使用列作为主键。这样您就根本不需要存储过程,这将更加高效。

a将更加高效。您可以使用a创建数字部分,然后将其与前缀连接返回

大致:

CREATE PROCEDURE GetNextKey
  @key VARCHAR(50) OUT
AS
BEGIN
   SET @key = 'REP' + SELECT NEXT VALUE FOR keys_seq;
END;

但是,为什么还要麻烦主键中的前缀呢?仔细看看您的设计,并认为您确实需要进行区分。您只需使用自动递增ID作为主键,并在必要时在显示点添加前缀。

您忘记了这个问题吗?