問題タブ [sp-executesql]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
sql - T-SQLで動的に値をクエリするにはどうすればよいですか?
何らかの理由で、SQLから動的に値を取得できないようです。
@SQL
別のウィンドウでクエリを実行すると、1つの値を持つ1つの列が表示されます。
しかし、残念ながら、これを試してみると、@FieldValueは常にNULLに戻ります。
彼らがsp_executesqlを教えた日に何かを逃しましたか?明らかに!しかし、何ですか?
sql-server - 一時テーブルまたはテーブル変数への動的クエリの結果
sp_executesql を使用して結果セットを生成するストアド プロシージャがあります。結果の列数はさまざまですが、Col1 Col2 Col3 などの形式になります。
結果を一時テーブルまたはテーブル変数に取得して、作業できるようにする必要があります。問題は、コマンドの実行後に一時テーブルのスコープが失われるため、sp_executesql を使用して動的に行うことができない一時テーブルの列を定義する必要があることです。
グローバル一時テーブルを動的に作成できるようにするため、グローバル一時テーブルを使用するというアイデアをいじりましたが、このプロセスの同時実行によってグローバル一時テーブルが更新される可能性が非常に高くなります。
何か案は?
sql-server - SQL 共通テーブル式での EXEC() または SP_EXECUTESQL の使用
共通テーブル式で EXEC(@SQL) または EXEC SP_EXECUTESQL(@SQL) を使用するにはどうすればよいですか?
以下は動作しません。
sql-server - 動的 sql および spexecutesql の動作
私は次のようなテーブルを持っています
一般に、次の形式の文字列を取得するための列数 (コード @d here 4) はわかりません。
そうするために私はやっています:
だから私がするなら
@CommaString
sp_executesql を実行しているときに文字列が正しく出力されている場合、選択時に文字列が返されないのはなぜですか?
sql-server - 2000 文字を超える sp_executeSQL およびステートメント
動的 SQL を使用していて、長い SQL クエリを実行する必要があります。最初にクエリで @var を nvarchar(4000) として宣言しましたが、クエリが 4000 文字を超えています。nvarchar(8000) に変更しようとしましたが、4000 文字を超えることのできない例外が発生しました。
最後に、var を varchar(8000) として宣言し、エラーは発生しませんが、sp_executeSQL を実行しようとすると、sp_executeSQL が ntext/nchar/nvarchar を期待するというエラーが発生します。
sp_executeSQL を使用してより長い Sql クエリを実行するにはどうすればよいですか? ありがとう!
Sql Server Express 2005 を使用しています。
sql - SQL文字列でのSQLサーバーsp_executesqlエラー
次のような文字列があります。
それを印刷すると、次のようになります。
次のようなパラメーター定義で sp_executesql を実行します。
次のようにエラーになります。
文字列は
'(@maxdate date,@mindate date)select @mindate = min(time), @maxda' になり
ます SQL文字列が途切れています.理由と修正方法を知っている人はいますか?
ありがとう!
sql - HTML5 データベース テーブル - 空かどうかを確認します
html5 websql db テーブルが空かどうかを判断する関数を作成しようとしています。コードは以下です。何が起こっているかを確認するためにアラートをそこに入れました。この関数を実行すると、一番下のアラートが最初にポップアップします。テーブルは空ですが、戻り値は false です。
}
sql - 複数のデータベースから選択するSQLビュー、プロキシユーザーはリモートデータベースにアクセスできません
SQL Server データベースに複数のビューを設定しました。これらのビューは、宣言に WITH EXECUTE AS 'proxyuser' 句があるストアド プロシージャから選択されます。実行する選択ステートメントは動的に作成され、sp_executesql ストアド プロシージャで実行されます。ビューが存在するデータベースと同じサーバー上の別のデータベースの両方からビューが選択されるように、これらのビューの定義に別のデータベースのテーブルへの結合を含める必要が生じるまで、すべてが正しく機能していました。
私が得ているエラーは次のとおりです。サーバー プリンシパル "proxyuser" は、現在のセキュリティ コンテキストではデータベース "mydb" にアクセスできません。
これは私が試したことです:
ここで推奨されているように、2 番目のデータベースからプロキシユーザーを削除し、ログインをデータベースにマッピングします 。 -the-database-under-the-current-security-context/
ここで推奨されているクロス データベース所有権チェーンを有効にします 。
私のシナリオは、同じエラー メッセージを説明する Microsoft サポート記事 #913422 で概説されている要件を満たしていません。プロキシは、Windows 認証ではなく、SQL Server 認証を使用します。
何か案は?
前もって感謝します。
sql - sp_executesql は、クエリを直接実行する場合とは異なる結果をビューから返します
危険な結果を示している SSRS レポートをデバッグしようとしています。私はSQLプロファイラを使用しています。実行中の正確なクエリを取得しました。これは、exec sp_executesqlで実行されます。
クエリはビューから結果を返しています。
sp_executesql を含めてそのままクエリを実行すると、1 セットの結果が得られます。内部にネストされたクエリを取得して単独で実行すると、別の結果セットが得られます。
これがどのように可能かわかりません。クエリは同一であり、sp_executesql は単純にクエリを実行するという印象を受けました。
不足しているものはありますか、またはこれをさらにデバッグするにはどうすればよいですか?
exec 呼び出しは次のようになります。
それを実行すると、1 セットの結果が得られます。
次に、実行した場合:
少し異なる結果が得られます。
sql - ユーザー定義のテーブルパラメータを動的SQL、sp_executesqlに渡します
「ユーザー定義のテーブルタイプ」パラメーターを動的SQL、sp_executesqlに渡す際にサポートが必要です。
これが私のサンプルコードです:
それは言う:テーブル変数「@IdTable」を宣言しなければならない
結果が8000文字を超えるため、これを機能させることができず、coalesce(bigintsの場合)を回避することもできません。