我需要一个使用多个sql语句执行的SQL CLR,即使用更新查询,选择查询和存储过程来在数据库中创建存储过程
[Microsoft.SqlServer.Server.SqlProcedure]
public static void pExecuteAuthorization(SqlInt32 id) {
string name = "";
string surname = "";
using (SqlConnection connection = new SqlConnection("context connection=true")) {
string sql = "UPDATE tTest SET Sequence = ISNULL(Sequence,0) + 1 WHERE Id = " + id;
using (SqlCommand command = new SqlCommand(sql, connection)) {
connection.Open();
int valRet = command.ExecuteNonQuery();
if (valRet > 0)
{
command.CommandText = "SELECT Name, Surname FROM tAuthorization WHERE Id = 1";
SqlParameter param = command.Parameters.Add("@Name", SqlDbType.VarChar, 50);
param.Direction = ParameterDirection.Output;
param = command.Parameters.Add("@Surname", SqlDbType.VarChar, 20);
param.Direction = ParameterDirection.Output;
command.ExecuteNonQuery();
name = command.Parameters["@Name"].Value.ToString();
surname = command.Parameters["@Surname"].Value.ToString();
if (name != "" && surname != "")
{
command.CommandText = "SELECT ...";
SqlDataReader dr = command.ExecuteReader();
if (dr.Read())
{
//other queries more
}
}
}
}
SqlContext.Pipe.ExecuteAndSend(command);
}
}
但是当我执行sp创建时,只有我得到select的结果,并且它不执行其他查询