TSQL эквивалент ключевого слова PostgreSQL "PERFORM"? - PullRequest
3 голосов
/ 22 августа 2011

Я тестирую производительность запросов в цикле.Вместо того, чтобы возвращать сотню дубликатов набора результатов, я хочу запускать оператор выбора сотни раз, каждый раз отбрасывая результаты.

В PostgreSQL есть синтаксис «выполнить выбор ...», который будет выполнятьвыберите утверждение и откажитесь от результатов.«37.6.2. Выполнение запроса без результата» http://www.postgresql.org/docs/8.2/static/plpgsql-statements.html

Есть ли в TSQL эквивалентное ключевое слово?

Я знаю, что в SSMS есть опции "Отменить результаты", нопохоже, что результаты не отбрасываются после каждой итерации и будут накапливаться в памяти, пока все итерации не будут завершены.Я полагаю, что выбор во временную переменную может сработать, но было бы намного проще просто отбросить результаты с помощью ключевого слова.Я бы предпочел избежать создания определений табличных переменных и потенциальных затрат на хранение результатов во временных таблицах.

Ответы [ 2 ]

0 голосов
/ 23 августа 2011

Если вы используете ADO.Net, выполните запрос без набора результатов, используя command.ExecuteNonQuery ();

using System;
using System.Data;
using System.Data.SqlClient;

class Program
{
    static void Main(string[] args)
    {
        string sqlConnectString = "Data Source=(local);Integrated security=SSPI;Initial Catalog=MyDatabase;";

        string sqlDelete = "DELETE FROM MyTable WHERE Id = 2";

        SqlConnection connection = new SqlConnection(sqlConnectString);
        SqlCommand command = new SqlCommand(sqlDelete, connection);
        connection.Open( );
        int rowsAffected = command.ExecuteNonQuery( );
        Console.WriteLine("{0} row(s) affected.", rowsAffected);
        Console.WriteLine("Record with Id = 2 deleted.");
        connection.Close( );
    }
}
0 голосов
/ 22 августа 2011

Я искал в спецификации SQL-92 эквивалентное ключевое слово, но не смог найти ни одного и, по своему опыту, не знаю ни одного конкретного для SQL Server.

...