タグ付けされた質問 「stored-procedures」

リレーショナルデータベースシステムにアクセスするアプリケーションが使用できるサブルーチン。

3
MySQLでパラメーター付きのビューを作成できますか?
私はこのような見解を持っています: CREATE VIEW MyView AS SELECT Column FROM Table WHERE Value = 2; もっと一般的にしたいのですが、これは2を変数に変更することを意味します。私はこれを試しました: CREATE VIEW MyView AS SELECT Column FROM Table WHERE Value = @MyVariable; しかし、MySQLはこれを許可していません。 私は醜い回避策を見つけました: CREATE FUNCTION GetMyVariable() RETURNS INTEGER DETERMINISTIC NO SQL BEGIN RETURN @MyVariable; END| そして、ビューは次のとおりです。 CREATE VIEW MyView AS SELECT Column FROM Table WHERE …

12
関数とストアドプロシージャ
結果としてテーブルを返す必要があるT-SQLコードを実装する必要があるとしましょう。テーブル値関数または行のセットを返すストアドプロシージャを実装できます。何を使うべきですか? 要するに、私が知りたいのは: 関数とストアドプロシージャの主な違いは何ですか?どちらか一方を使用する場合、どのような考慮事項を考慮する必要がありますか?

2
ユーザー定義のテーブルタイプでEXECUTE権限が拒否されましたか?
SQL Server2008のユーザー定義テーブルタイプについて質問があります。 ASP.NETアプリケーションの1つが必要な場合は、SQL Server 2008で独自のテーブルタイプを定義して、それらをストアドプロシージャのパラメーターとして使用します(ASP.NETアプリケーションでsqlコマンドを実行する場合、DataTableオブジェクトをストアドプロシージャのパラメーターとして渡します。例についてはこちらをご覧ください) 問題は、ASP.NETからSQLコマンド(ストアドプロシージャの実行)を実行すると、次のエラーが発生することです。 オブジェクト 'ourTableType'、データベース 'ourDatabase'、スキーマ 'ourSchema'に対するEXECUTE権限が拒否されました。 どうしてこんなことに?ユーザー定義のテーブルタイプに権限を設定する必要があるのはなぜですか?それを使用するストアドプロシージャだけに権限を設定するだけでは不十分なのはなぜですか?そして、私たちは、なぜ何もありませんどのように関係なく、それを設定する必要がある場合はEXECUTEプロパティウィンドウの何で設定するアクセス権の種類は、(私は見ることができControl、References、Take Ownership、View Definition)? またControl、プロパティウィンドウでアクセス許可をに設定すると問題が解決し、ストアドプロシージャが問題なく実行されることもわかりません。

7
ストアドプロシージャ 'dbo.aspnet_CheckSchemaVersion'が見つかりませんでした
WinHost.comを使用してサイトをホストしています。SQLデータベース/メンバーシップシステムはローカルコンピューターで完全に機能しますが、サーバーにアップロードすると機能しません。すべての手順を正しく実行しました。また、サービスのサポートに連絡しましたが、2週間以上経過しており、返信がありません。 サイトのメンバーシップページでログインまたは新しいユーザーを登録しようとすると、このエラーが発生し続けます。 Server Error in '/' Application. -------------------------------------------------------------------------------- Could not find stored procedure 'dbo.aspnet_CheckSchemaVersion'. Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code. Exception Details: System.Data.SqlClient.SqlException: Could not …

4
MS SQL Serverストアドプロシージャ内で配列を宣言するにはどうすればよいですか?
カーソルを使用して、各月の年に対応する12個の10進変数を宣言する必要があります。この変数の値を合計し、後でいくつかの販売情報を更新します。 SQLサーバーにこの構文があるかどうかわかりません Declare MonthsSale(1 to 12) as decimal(18,2) このコードは問題なく動作します。! CREATE PROCEDURE [dbo].[proc_test] AS BEGIN --SET NOCOUNT ON; DECLARE @monthsales TABLE ( monthnr int, amount decimal(18,2) ) -- PUT YOUR OWN CODE HERE -- THIS IS TEST CODE -- 1 REPRESENTS JANUARY, ... INSERT @monthsales (monthnr, amount) VALUES (1, 100) INSERT …

3
IDENTITY列が1つしかないテーブルに行を挿入する
主キーであるadminIdという1つの列しかないテーブルAdministratorがあります。ビジネスルールのため、このようにする必要があります。 このようなテーブルに値を挿入するストアドプロシージャを作成する方法を一度だけ理解したいと思います。SQL ServerとT-SQLを使用していて、SCOPE_IDENTITY()を使用しようとしましたが、テーブルのINSERT_IDENTITYがfalseまたはoffであるため、機能しません。 新しい行を挿入できるようにするためだけに、ダミー値を挿入したくないのです。ありがとう!

9
戻り値を使用してストアドプロシージャを呼び出す
Наэтотвопросестьответынаスタックオーバーフローнарусском:Какпривызовехранимойпроцедурыполучитьзначениепереданное в RETURN C#Windowsアプリケーションからストアドプロシージャを呼び出そうとしています。ストアドプロシージャはSQLServer 2008のローカルインスタンスで実行されています。ストアドプロシージャを呼び出すことはできますが、ストアドプロシージャから値を取得することはできません。このストアドプロシージャは、シーケンス内の次の番号を返すことになっています。私はオンラインで調査を行い、私が見たすべてのサイトはこのソリューションが機能していることを示しています。 ストアドプロシージャコード: ALTER procedure [dbo].[usp_GetNewSeqVal] @SeqName nvarchar(255) as begin declare @NewSeqVal int set NOCOUNT ON update AllSequences set @NewSeqVal = CurrVal = CurrVal+Incr where SeqName = @SeqName if @@rowcount = 0 begin print 'Sequence does not exist' return end return @NewSeqVal end ストアドプロシージャを呼び出すコード: SqlConnection conn = …

8
クエリの実行が非常に遅いですが、さらに改善する方法はありますか?
次のクエリがありSUMますが、関数呼び出しが多いため、クエリの実行が遅すぎます。データベースに多数のレコードがあり、それぞれについて、現在の年と昨年(過去30日間、過去90日間、過去365日間)のレポートを取得したいと思います。 SELECT b.id as [ID] ,d.[Title] as [Title] ,e.Class as [Class] ,Sum(CASE WHEN a.DateCol >= DATEADD(MONTH,-1,GETDATE()) THEN a.col1 ELSE 0 END) as [Current - Last 30 Days Col1] ,Sum(CASE WHEN a.DateCol >= DATEADD(MONTH,-1,GETDATE()) THEN a.col2 ELSE 0 END) as [Current - Last 30 Days Col2] ,Sum(CASE WHEN a.DateCol >= DATEADD(QUARTER,-1,GETDATE()) …
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.