将 C# 代码转换为 SQL Server 存储过程

本文关键字:SQL Server 存储过程 转换 代码 | 更新日期: 2023-09-27 18:32:43

我是SQL Server存储过程的新手。

我想将此 C# 代码转换为 SQL Server 存储过程。

int i = 0;
While(i >= 0)
{
    int count = checkvalue(name); // function checkvalue return integer value. & name is string value like "rest-123".
    if(count == 0)
    {
          -- insert query in which name is inserted to some table.
          break;
    }
    i++;
    string Tempname = string.Format("{0}-{1}", name, i); // This write string like "rest-123-1"
    name = Tempname
}

我想知道

  1. 如果条件为真并插入记录,则如何在循环中中断。
  2. 如何在 T-SQL 存储过程中执行此string Tempname = string.Format("{0}-{1}", name, i);操作

请指导我或为我提供编写此存储过程的参考。

将 C# 代码转换为 SQL Server 存储过程

我同意评论者的观点,这是一个糟糕的主意,你没有尝试发布代码。所以这里有一些通用的例子。

可是:循环和中断:

USE AdventureWorks2008R2;
GO
WHILE (SELECT AVG(ListPrice) FROM Production.Product) < $300
BEGIN
   UPDATE Production.Product
      SET ListPrice = ListPrice * 2
   SELECT MAX(ListPrice) FROM Production.Product
   IF (SELECT MAX(ListPrice) FROM Production.Product) > $500
      BREAK
   ELSE
      CONTINUE
END
PRINT 'Too much for the market to bear';

字符串连接:(示例是 sql 列,但变量的工作方式相同,带有加号。注意 NULL,如果数据库设置处于打开状态,则 null 的字符串组合将产生 null)

SELECT (LastName + ', ' + FirstName) AS Name
FROM Person.Person
ORDER BY LastName ASC, FirstName ASC;