SQL CLR使用多个sql语句执行

时间:2014-08-01 22:10:33

标签: sql-server sqlclr

我需要一个使用多个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的结果,并且它不执行其他查询

0 个答案:

没有答案