📅  最后修改于: 2023-12-03 15:07:49.488000             🧑  作者: Mango
在 SQL Server 中,SP是存储过程的缩写。SP是一组预定义的T-SQL语句,以便在需要时使用。SP可以接收参数、执行复杂的逻辑,并返回结果。
使用CREATE PROCEDURE语句创建SP。以下是一个在SQL Server中创建SP的示例:
CREATE PROCEDURE SalesByProduct
@startdate datetime,
@enddate datetime
AS
SELECT productid, salespersonid, sum(quantity) as 'Total sales'
FROM sales
WHERE saledate BETWEEN @startdate and @enddate
GROUP BY productid, salespersonid
使用EXECUTE语句来执行SP。以下是一个在SQL Server中执行SP的示例:
EXECUTE SalesByProduct '2018-01-01', '2018-12-31';
以下是在C#中执行SP的示例代码:
using System.Data;
using System.Data.SqlClient;
namespace ConsoleApp1
{
class Program
{
static void Main(string[] args)
{
string connString = "Data Source=myServerAddress;Initial Catalog=myDataBase;User Id=myUsername;Password=myPassword;";
string spName = "SalesByProduct";
using (SqlConnection conn = new SqlConnection(connString))
{
using (SqlCommand cmd = new SqlCommand(spName))
{
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.AddWithValue("@startdate", DateTime.Parse("2018-01-01"));
cmd.Parameters.AddWithValue("@enddate", DateTime.Parse("2018-12-31"));
cmd.Connection = conn;
conn.Open();
using (SqlDataReader reader = cmd.ExecuteReader())
{
while (reader.Read())
{
Console.WriteLine(reader["productid"].ToString() + " " +
reader["salespersonid"].ToString() + " " +
reader["Total sales"].ToString());
}
}
}
}
}
}
}
使用SP可以提高性能,优化数据库管理,提高安全性。在创建SP时,使用CREATE PROCEDURE语句。在执行SP时,使用EXECUTE语句。在C#中执行SP时,使用SqlCommand对象和参数。