![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
![](http://oshiete.xgoo.jp/images/v2/common/profile/M/noimageicon_setting_12.png?e8efa67)
SQLServer2005 を使用し、ストアドプロシージャを作成しています。
select ~ into ~ で一時テーブルを作成、データ挿入するのですが、
この命令で作成された一時テーブルにプライマリキーを作成したいと
考えております。
目的は、挿入される件数が多くなりそうなので、
検索を速くする為です。
プライマリキーを作成するのは、
ALTER TABLE ~ CONSTRAINT PK_xxx PRIMARY KEY CLUSTERED ( ~ )
で作成できる事は、理解しております。
これらの処理をストアドプロシージャで行いたいのですが、
注意点としては、当ストアドプロシージャが
並行して実行される事を考慮しておかなくてはなりません。
以下のようなサンプルを作成し、テストしてみたのですが、
セション1でストアドプロシージャ実行後、
セション2でストアドプロシージャを実行してみたのですが、
以下のエラーメッセージが表示されてしまいます。
ここで質問ですが、
制約名をどのようにすれば実現できるのでしょうか。
たとえば、制約名を省略すれば、システム内で一意な名称を
命名してくれるような書き方はないのでしょうか。
ご存じの方、ご回答宜しくお願いします。
-- サンプルストアドプロシージャ
create procedure proc_test as
select getdate() AS sysdate into #worktable
alter table #worktable with nocheck add
constraint pk_xxx primary key clustered ([sysdate])
waitfor time '23:59' -- テストの為待機
-- セション1ストアドプロシージャ実行
exec proc_test
-- セション2ストアドプロシージャ実行
exec proc_test
-- セション2の実行結果
(1 行処理されました)
メッセージ 2714、レベル 16、状態 4、プロシージャ proc_test、行 6
データベースに 'pk_xxx' という名前のオブジェクトが既に存在します。
メッセージ 1750、レベル 16、状態 0、プロシージャ proc_test、行 6
制約を作成できませんでした。以前のエラーを調べてください。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- MySQL PHPとMySQLを使った掲示板の作り方 1 2022/06/02 13:00
- MySQL MySQLのテーブル作成で 自信がありません。 2 2022/08/28 05:35
- その他(IT・Webサービス) EXCELVBAでシートを他のブックにコピーする命令を出すと毎回存在しないシート名の問合わせがある 1 2022/05/07 15:12
- Excel(エクセル) EXCELVBAでシートを他のブックにコピーする命令を出すと毎回存在しないシート名の問合わせがある 2 2022/05/07 17:16
- Ruby pandasでsqlite3にテーブル作成・追加・読み出しでindexの取り扱い方教えてください 5 2023/03/08 09:57
- Excel(エクセル) 【マクロ】エラーが発生⇒実行時エラー58既に同名のファイルが存在 5 2022/08/31 10:03
- Access(アクセス) Accessテーブルの結合で別々のテーブルのフィールドを組み合わせて値を出す方法について 2 2022/07/20 19:43
- その他(データベース) pythonでsqlight勉強中、クエリー結果の利用法教えて下さい 1 2022/04/28 20:38
- PHP ここでの ②if($su_d<>"")の比較演算子 を使う理由は 1 2022/03/26 02:33
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2023/07/21 09:42
このQ&Aを見た人はこんなQ&Aも見ています
-
「環境が人を育てる」って本当?環境によって人格や生き方は本当に変わるのか
環境が人生に与える影響は実際どれほどのものなのか、専門家の田宮由美さんに伺った。
-
PRIMARY KEYのコピー
MySQL
-
ユーザー定義関数内でのsp_executesqlプロシージャの使用
SQL Server
-
like演算子内に変数って使えないんですか?
その他(プログラミング・Web制作)
-
-
4
処理件数を非表示にしたい
SQL Server
-
5
VB.NETで DataRow()を利用して、値からコードを取得したい。
Visual Basic(VBA)
-
6
csv出力について
Java
-
7
列番号による項目の取得について
SQL Server
-
8
SQL Serverにおける小数部の0表記について
その他(プログラミング・Web制作)
-
9
検索結果の列数を動的に変更したい
SQL Server
-
10
SQL文で右から1文字だけ削除するやり方
MySQL
-
11
VBA 連続行データを5行ずつ隣の列に貼り付ける
Excel(エクセル)
-
12
JavaScriptで、コピーボタンを配置し、その行のテキストデータを取得したいのです。
JavaScript
-
13
[Access] パススルークエリーで実行すると遅い
Access(アクセス)
-
14
sqlserverで集計結果をUPDATEしたいです
SQL Server
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ACCESS2007 フォーム 「バリア...
-
Accessでクエリを完了できませ...
-
Access VBA [リモートサーバー...
-
テーブル作成後なんですが、Pri...
-
実行時エラー3086 削除クエリ...
-
ACCESSのODBCリンクテーブルに...
-
結合テーブルクエリPrimaryKey...
-
Access Update文の副問い合わせ
-
ACCESSにてテーブルをEXCEL形式...
-
大きなテーブルに対する問い合...
-
SQL SERFVER で外部キーのエラ...
-
ユニオンクエリで繋げられるテ...
-
Select ~ into ~ で作成した...
-
HSQLDB のデータ更新エラー
-
「マスタ」と「テーブル」の違...
-
ACCESSのSQLで、NULLかNULLでな...
-
Accessにインポートしたら並び...
-
主キーにインデックスは貼らな...
-
ACCESSのBookmarkプロパティの...
-
MongoDBのデータ更新はDBを排他...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ACCESS2007 フォーム 「バリア...
-
Access VBA [リモートサーバー...
-
Accessでクエリを完了できませ...
-
ユニオンクエリで繋げられるテ...
-
ACCESSのODBCリンクテーブルに...
-
大きなテーブルに対する問い合...
-
VBAの実行時エラー'2522'について
-
Select ~ into ~ で作成した...
-
accessでSQL実行時のテーブル名...
-
実行時エラー3086 削除クエリ...
-
TRY CATCHでシステムエラーを検...
-
Access Update文の副問い合わせ
-
Oracleデータベーストリガーの...
-
PhpMyAdminで作成して実行せよ...
-
SQL Serverのテーブルってどう...
-
SQL SERFVER で外部キーのエラ...
-
AccessのテーブルをSQL Server...
-
ACCESSにてテーブルをEXCEL形式...
-
SQL文でテーブル作成 Access2002
-
MS Access2000でエクスポート時...
おすすめ情報