タグ付けされた質問 「parameter」

2
Unicodeパラメーターと変数名を作成する方法
このすべての機能: CREATE DATABASE [¯\_(ツ)_/¯]; GO USE [¯\_(ツ)_/¯]; GO CREATE SCHEMA [¯\_(ツ)_/¯]; GO CREATE TABLE [¯\_(ツ)_/¯].[¯\_(ツ)_/¯]([¯\_(ツ)_/¯] NVARCHAR(20)); GO CREATE UNIQUE CLUSTERED INDEX [¯\_(ツ)_/¯] ON [¯\_(ツ)_/¯].[¯\_(ツ)_/¯]([¯\_(ツ)_/¯]); GO INSERT INTO [¯\_(ツ)_/¯].[¯\_(ツ)_/¯]([¯\_(ツ)_/¯]) VALUES (N'[¯\_(ツ)_/¯]'); GO CREATE VIEW [¯\_(ツ)_/¯].[vw_¯\_(ツ)_/¯] AS SELECT [¯\_(ツ)_/¯] FROM [¯\_(ツ)_/¯].[¯\_(ツ)_/¯]; GO CREATE PROC [¯\_(ツ)_/¯].[sp_¯\_(ツ)_/¯] @Shrug NVARCHAR(20) AS SELECT [¯\_(ツ)_/¯] FROM [¯\_(ツ)_/¯].[vw_¯\_(ツ)_/¯] …

3
ストアドプロシージャの出力パラメーターとしてのテーブル値パラメーター
ストアドプロシージャの出力パラメーターとして使用されるTable-Valuedパラメーターは可能ですか? ここに、私がコードでやりたいこと /*First I create MY type */ CREATE TYPE typ_test AS TABLE ( id int not null ,name varchar(50) not null ,value varchar(50) not null PRIMARY KEY (id) ) GO --Now I want to create stored procedu whic is going to send output type I created, --But it looks …

2
TVPを読み取り専用にする必要がある理由、および他のタイプのパラメーターを読み取り専用にできない理由
このブログによると、関数またはストアドプロシージャのOUTPUTパラメーターは、パラメーターでない場合は本質的に値渡しであり、パラメーターである場合は本質的に参照渡しの安全なバージョンとして扱われOUTPUTます。 最初は、TVPの宣言を強制する目標は、TVPをパラメーターREADONLYとして使用できないことを開発者に明確に知らせることであると考えましたが、OUTPUT非TVPをとして宣言できないため、さらに処理が必要READONLYです。たとえば、次は失敗します。 create procedure [dbo].[test] @a int readonly as select @a メッセージ346、レベル15、状態1、プロシージャテスト パラメーター "@a"はテーブル値パラメーターではないため、READONLYとして宣言できません。 以来統計が保存されていない TVPにDML操作を防止することの理論的根拠は何ですか? OUTPUT何らかの理由でTVPをパラメーターにしたくないことに関連していますか?

1
関数パラメーターとUSING句を使用したJOINの結果との名前の競合
現在のPostgres 9.4でのこのセットアップを考えると(この関連する質問から): CREATE TABLE foo (ts, foo) AS VALUES (1, 'A') -- int, text , (7, 'B'); CREATE TABLE bar (ts, bar) AS VALUES (3, 'C') , (5, 'D') , (9, 'E'); 前の質問からのSQL Fiddleもあります。 私が書いたSELECTとをFULL JOIN参照し、質問の目的を達成するために。簡略化: SELECT ts, f.foo, b.bar FROM foo f FULL JOIN bar b USING (ts); 仕様に従って、列をアドレス指定する正しい方法tsは、テーブル修飾なしです。入力値(f.tsまたはb.ts)のいずれかをNULLにすることができます。このUSING句は、奇妙なケースを少し作成します。実際には入力に存在しない「入力」列を導入します。これまでのところとてもエレガント。 …

1
SQL Serverがオブジェクト名とシステムプロシージャに渡される文字列を交換できる理由
オブジェクト名をシステムストアドプロシージャに渡すことが合法である原因は何sp_helptextですか? オブジェクト名を文字列に変換するメカニズムは何ですか? 例えば -- works sp_helptext myproc sp_helptext [myproc] sp_helptext [dbo.myproc] -- and behaves the same as a string sp_helptext 'myproc' sp_helptext 'dbo.myproc' -- does not work sp_helptext dbo.myproc -- Msg 102, Level 15, State 1, Line 1 incorrect syntax near '.' -- an additional case that does not work. …

1
PLS-00306エラー:間違った引数を見つける方法は?
PLS-00306: 'string'へのコールで引数の数またはタイプが間違っています 原因:このエラーは、名前付きサブプログラムの呼び出しが、そのサブプログラム名の宣言と一致しない場合に発生します。サブプログラム名のスペルが間違っているか、パラメータのデータ型が間違っているか、宣言に誤りがあるか、宣言がブロック構造に正しく配置されていない可能性があります。たとえば、このエラーは、組み込み平方根関数SQRTが、スペルの間違った名前または誤ったデータ型のパラメーターで呼び出された場合に発生します。 処置:サブプログラム名の綴りと宣言を確認してください。また、呼び出しが正しいこと、パラメータが正しいデータ型であること、組み込み関数でない場合は、宣言がブロック構造に正しく配置されていることを確認してください。 どうすれば間違った引数をすばやく特定できますか? 何十ものパラメータを持つストアドプロシージャがあります。使用された手順と定義された手順の違いを確認する簡単な方法はありますか?行ごとにチェックしたくない。

1
クエリのパフォーマンスが悪い
処理するデータ量に応じて、通常0.5〜6.0秒で実行される大きな(10,000行以上)手順があります。過去1か月間で、FULLSCANで統計を更新してから30秒以上かかりました。速度が低下すると、sp_recompileは問題を「修正」し、夜間統計ジョブが再度実行されるまで待機します。 低速と高速の実行プランを比較することで、特定のテーブル/インデックスに絞り込みました。実行速度が遅い場合は、特定のインデックスから約300行が返されると推定され、実行速度が速い場合は1行と推定されます。実行速度が遅い場合はインデックスでシークを行った後にテーブルスプールを使用し、実行速度が速い場合はテーブルスプールを実行しません。 DBSS SHOW_STATISTICSを使用して、インデックスヒストグラムをExcelでグラフ化しました。私は通常、グラフがより「ローリングヒル」であると予想しますが、代わりにそれは山のように見え、最高点はグラフ上の他のほとんどの値よりも2倍から3倍高くなります。 FULLSCANなしで統計を更新すると、より正常に見えます。その後、もう一度FULLSCANで実行すると、上記のように見えます。 これは、パラメータスニッフィングの問題のように感じられ、特に上記の(一見)奇妙なインデックス分布に関連しています。 プロシージャはテーブル値パラメーターを受け取りますが、パラメーター値パラメーターでパラメーターのスニッフィングを行うことができますか? 編集:プロシージャは、他に12個のパラメーターも受け取ります。そのうちのいくつかはオプションで、そのうちの2つは開始日と終了日です。 ヒストグラムは奇妙ですか、それとも間違ったツリーを吠えていますか? クエリを調整したり、インデックスを調整したりすることは確かに快適です。それがすばらしい修正である場合、その時点での私の質問は、歪んだヒストグラムについての詳細です。 これはPK IDENTITYクラスター化インデックスであることを述べておきます。互いに通信する2つのシステムがあり、1つはレガシーシステムで、もう1つは新しい自家製システムです。どちらのシステムも同様のデータを保存します。新しいシステムのこのテーブルのPKを同期させるために、古いシステムにデータが追加されない場合でも(RESEEDが実行された場合でも)、PKが増加します。したがって、この列の番号付けにいくつかのギャップがある可能性があります。レコードが削除されることはほとんどありません。 どんな考えでも大歓迎です。より多くの情報を収集/含めることができて、とてもうれしいです。
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.