SQL Server

全2973件中1681~1700件表示
  • ループしてUPDATEするストアドについて

    よろしくお願いいたします。 表題の件どうしてもわからなかったので、皆様どうかご教示お願いいたします。 下記ストアドを作成いたしました。 内容としては UPDATE文 「ユーザー情報 SET 通知f1 = 1 WHERE (送信先1 IS NOT NULL) AND (送信先1 <> '')」 の 通知fが1から30 送信先が1から30 をループして実行するといったいたってシンプルなのもです。 が、なんか上手くいかないんです。 ALTER PROCEDURE [dbo].[test] AS DECLARE @Counter int DECLARE @StrFileds1 varchar(1000) DECLARE @StrFileds2 varchar(1000) SET NOCOUNT ON SET @Counter = 1 SET @StrFileds1='' SET @StrFileds2='' WHILE @Counter <= 30 BEGIN SET @StrFileds1='通知f'+Convert(varchar,@Counter) SET @StrFileds2='送信先'+Convert(varchar,@Counter) SET @Counter=@Counter+1 BEGIN UPDATE ユーザー情報 SET @StrFileds1 = 1 WHERE (@StrFileds2 IS NOT NULL) AND (@StrFileds2 <> '') END END

  • IDENTITY列

    データベースなどにあるIDENTITY列とは何でしょうか?AutoNumber型と理解しているですが、間違ってないでしょうか?

    • jmine
    • 回答数1
  • OSQLからスクリプトファイルへの引数の渡し方

    こんにちは。 OSQLからの値の渡し方について教えて下さい。 バッチファイルの中にOSQL文を使用してデータを抽出する事を考えています。 具体的には、バッチファイルを実行時に日付を入力し、 入力された日付をOSQL文の中に記述しているスクリプトファイルへ値を渡し、 スクリプトファイルにあるSQL文を実行するというやり方です。 **バッチファイル** set /p %hiduke = "日付を入力して下さい。yyyymmdd -->" osql -S インスタンス -U ユーザ名 -P パスワード -d DB名 -i c:\script.sql > C:\結果.txt **スクリプトファイル(script.sqlファイル)** declare @hiduke char(8) set @hiduke = バッチから渡された値を指定 select * from uriage where 日付 = @hiduke という風な感じで考えています。 バッチからOSQLへの渡し方と、OSQLからスクリプトファイルへの渡し方、 その他、良い案があれば教えて頂けないでしょうか。 よろしくお願いします。

  • 現在データベースの勉強を独学で勉強しているのですが

    質問すべき場所が適合していなければ申し訳ありません。 データベースの勉強を最近始めたのですが、以下のような問いがあり、それに対してどのような回答をすればいいのかわかりません。 是非教えていただきたく思います。 また、データベースの勉強を一から始めるにあたってどのように勉強していくのがいいのか教えていただけたら幸いです ― 問 ― バスケットボールのリーグ戦における1シーズンのデータを取るために、次の関係スキーマXとYに基づく2つの関係表を持つ関係データベースを考える。 ・選手の所属チーム情報 X (氏名、所属チーム) ・試合における得点情報 Y (氏名、所属チーム、相手チーム、得点時間) ただし、関係データベースは次の条件を満たす。 ・同じ対戦相手とは一度だけ試合をする。 ・データベース中の選手とチームは名前により一意に識別される。 ・試合の得点は得点した選手の所属チームに対し、すべて2ポイント与えられ、3ポイントやフリースロー等による1ポイントの得点はないものとする。 ・選手はシーズン中に移籍により、複数のチームに所属することがある。 ・得点開始時間は試合開始から経過時間を分単位で記録し、同じ対戦カードで同一の時間帯には複数の得点者はいないこととする。 ・どのチームにも複数の選手が所属している。 このようにデータが与えられている場合に以下の情報を求める方針を関係代数を用いて式として表せ。 また、関係代数の利用可能な演算は集合演算(和、差、積、商)、選択、直積、射影がある。 1)複数のチームに所属した選手 2)Aというチームから得点を取られたことのないチーム 3)少なくとも一試合で15分以降に得点したチーム 4)所属したことのある全ての選手がシーズンを通して得点を取ったことのないチーム

  • SQL Server 2005 日付期間について(SQL文)

    恐れ入ります。 現在、SQL Serever 2005を利用し、VS 2005にて某システムを作成しています。 その中で、ある条件のデータをテーブルから削除する機能を作らなければならないのですが、以下がやりたい旨です。 [テーブル] SYSTEMTBL [定  義] systemYMD (varchar(8) ): 登録日付(例.20080725) systemHMS (varchar(6) ): 登録時間(例.103050) AAAAA (varchar(10)): カラム1 BBBBB (varchar(10)): カラム2 とあり、 SQL文を次のようにしたいです。 DELETE FROM SYSTEMTBL WHERE 登録日付 < 本日日付 - 日数 条件部分をどのようにすれば、 正しい日付の計算をしてくれるのでしょうか? 宜しくお願い申し上げます。

  • SQL Serverへのネットワーク接続

    SQL ServerにODBC接続するために、DSN登録しようとしているのですが、 うまくいきません。 ドライバはSQL Serverを選択し、 サーバ名「PC16\SQLEXPRESS」 「SQLServer用のログインIDとパスワードを使う」 でログインID,Passを入力した際、 「sa」だと次へ進めるのですが、他のユーザだと 「ユーザー'XXXX'はログインできませんでした」 というメッセージが出てしまいます。 DB側では、TCP/IPを有効にしてあり、FireWallの例外にも追加してあります。 解決方法ご存知の方、よろしくお願いします。

  • ユニークしたレコードの他の項目も表示したい。

    下記のような重複したレコードをもつテーブルAがあって。 番号,県名,日付,型番 3,大阪部,7/21,A11 1,愛知県,5/1,A12 1,愛知県,5/1,BS2 3,大阪部,7/21,C11 2,東京都,6/20,C21 3,大阪部,7/21,C48 1,愛知県,5/1,C11 sql = "Select Distinct 番号 From BoxListDB" 下記のように番号でユニークする処理はできたのですが。 1 2 3 さらに,県名。日付などの情報も出したいのですが。 (上の重複したテーブルの例でいうと県名と日付は同じで。型番は異なります。) 1,愛知県,5/1 2,東京都,6/20 3,大阪部,7/21 SQL文はどのように書いたら良いでしょうか? アドバイスをいただけたら幸いです。 開発環境。 SQL Server 2005 Express SP1 VB2005 WindowsXP Pro SP2

  • データベース保守計画

    SQLServer2000の『データベース保守計画』で、 バックアップをしていますが、 1日ごとに自動削除にチェックをいれても、 トランザクションの場合だけデータがどんどん溜まっていきます。 (データベース全体のDBは自動削除されます) 何か設定があるのでしょうか?

    • ENTRE
    • 回答数1
  • SQLServerでOracleシーケンスのような機構を実現するには

    いつもお世話になります。 SQLServerで自動採番される仕組みで何かいい方法がないかどうか悩んでいます。 主キーとなる項目に自動採番された値を、アプリケーションでセットした上で、DBに追加する仕組みを考えています。 OracleではSequenceのnextvalなどを使用すれば、番号を自動採番したものを取得することが可能ですが、 SQLServerでこのような仕組みを実現するために何か良い方法はありませんでしょうか? (追加先のDBはSQLServerではなく、自動採番等の機能も無いため、追加する前にアプリケーションでセットする必要がある。) 今までOracleしか使用したことが無く、SQLServerは初めてなので、ご教授頂きたく投稿しました。 よろしくお願いします。 SQLServerは2005を使用しています。

  • SQLServerロックについて

    お世話になります。 SQLServer7.0をつかっております。 プログラムやハード環境は何にも変わらないのですが、急にロックが頻発するようになりました。 複数ユーザーが同時に使用しているので、ロックがかかるのは普通の事なんですが、SQL EnterPrise Manager で確認すると、ブロッキングがなく、お互いがお互いをブロックしているという形になっており、手動で強制終了するしかない状況です。 お互いがの場合はデッドロックになり、自動で強制終了されると思うのですが、それも起こりません。 何故、デッドロックにならないのか分からず悩んでおります。 何かの設定なのでしょうか?サーバーの再起動をしてみた方が良いでしょうか?アドバイスお願いします。

    • sawajyu
    • 回答数2
  • INSERT文で発行したオートナンバーを取得したい

    いつも勉強させて頂いています。SQL文について困っています。 -環境- .NET FreamWork2.0 VB SQLSERVEREXPRESS -SQL- インサート時にオートナンバーを取得してデータを追加しているのですが、追加後にオートナンバーの値を戻す(取得する)ことは可能でしょうか?SQL文は下記です。 INSERT INTO マスタテーブル VALUES((SELECT MAX(オートナンバー) + 1 FROM マスタテーブル), 商品名・・・・ 上記で登録されたオートナンバーを別テーブルに格納したい為です、リアルタイムで処理しますので、発行したオートナンバーが即時に必要です。 テーブル更新時に  Dim Ret_Table As DataTable = AS_Cmd.ExecuteScalar() とするとテーブル内容がNothingになります。 他の方法も御座いましたら教えて頂けると幸いです。宜しくお願い致します。

  • SQLServer Compact Edtion でBULK INSERTは使えますか?

    タイトル通りです。うまく動作しなくて困っています。 使用可否を明確に知りたいのでよろしくお願い致します。

  • BIのSSISで一時テーブルの作成ができない

    Ver:SQLServer2005 SQL Server Business Intelligence の SSIS の、 「SQL 実行タスク」にて、グローバル一時テーブルの 作成を試みたところ、実行結果は問題なく完了となっているのですが、 実際にテーブルの生成がされていませんでした。 また、ストアド上でグローバル一時テーブルを作成するようにし、 そのストアドを実行させて問題なく完了させても、 やはりテーブルの生成がされていませんでした。。 なお、グローバル一時テーブルの削除は問題なくできます。 これは、そもそも出来ない操作なのか、 それとも、何か解決法があるのか、どなたかご教授願えないでしょうか? 恐れ入りますが、なにとぞよろしくお願いいたします。

  • UPDATE がうまくいかない

    はじめまして。 SQL server 2005 と VB2005 を使用してテーブルの更新を  連続で実行すると、なぜか、250件更新するごとに  次の9レコード分更新クエリのレスポンスの時間が異常に長い  のです。その後、また、250件更新の更新クエリは早く  処理をされるのですが、更に次の9レコード分更新クエリの  レスポンス時間が異常に長いのです。以後250件レコードの更新  ごとに9レーコド分更新のレスオンスの時間が異常に長く繰り返  されます。たぶんエラーが発生していると思われますが、  どうして250件レーコドに9件のレコードの更新クエリがエラー  でるのかわかりません。仕方ないので、エラーの出たレコード  を事前に削除して再度実行しても、やはり、250レコード  ごとに9件のレコードがエラーが出てレスポンスに時間が掛かります。  なにか、SQL Serverに設定するのがあるのか、または  SQL文に間違いがあるのか、教えて下さい。  接続方法はOLEDBで接続しています。OLEDBの接続では  ダメなのでしょうか?。  下にソースを記載します。 dim 肝炎B as long dim cq as string dim Db As new System.Data.OleDb.OleDbConnection Dim CDBkanjya As System.Data.OleDb.OleDbDataReader Dim CDBkanjyaC As new System.Data.OleDb.OleDbCommand Dim CDBkanjyaCw As new System.Data.OleDb.OleDbCommand cq = " SELECT 患者ID , 患者名 " & _ " FROM kanjya " & _ " ORDER BY 患者ID " & _ " " Db.ConnectionString = "Provider=SQLOLEDB;Data Source=kokoro00;User ID=sa;Password=kokorocenter;Initial Catalog=kokoro" Db.Open() CDBkanjyaC.Connection = Db CDBkanjyaCw.Connection = Db CDBkanjyaC.CommandText = cq CDBkanjya = CDBkanjyaC.ExecuteReader Do While CDBkanjya.Read ..... ..... ..... ..... ..... cq = " UPDATE kanjya " cq += " SET 肝炎B = " & 肝炎B.ToString cq += " WHERE 患者ID = " & CDBkanjya.Item("患者ID").ToString & " " CDBkanjyaCw.CommandText = cq CDBkanjyaCw.ExecuteNonQuery() Loop CDBkanjya.Close() CDBkanjyaC.Dispose() CDBkanjyaCw.Dispose() Db.Close()   尚、SQL Server でうまくいかないので、データベースをアクセスのMDB   ファイルに変換して、接続方法を Db.ConnectionString = "Provider=Microsoft.jet.OLEDB.4.0;Data Source=c:\sbj\kokoro\bin\kokoro.mdb" の JETエンジンでOLEDB接続して、その他は全く同じソースで実行した   場合は、なんら問題なく、全件更新出来ます。

  • パススルークエリでのロックについて

    毎度お世話になっております。 SQLSERVER2000とACCESS2003を使用しています。 画面から抽出条件を入力し、画面表示ボタンを押すと 抽出条件をWHERE句にしたパススルークエリが実行され、 在庫、入庫予定、入庫実績、出荷実績を計算、 画面表示するプログラムを作りたいと考えています。 パススルークエリはSELECT文ですが、 サブクエリが多くあり、 FROM句にはたくさんのテーブルが入ります。 また、他端末で実績入力中でも 入力中の実績は反映されなくてもよいので、 実行、画面表示したいのです。 他の質問を検索して、 http://oshiete1.goo.ne.jp/qa3392465.html SELECT文でもロックが発生することを知りました。 しかし、どのように対処するかは理解できませんでした。 ロックをおこすことなく他端末での実績入力も問題なく行われ、 画面表示もできるようにするにはどうすればよいのでしょうか よろしくお願いします。

  • SQLサーバの勉強方法

    はじめまして、今度の会社でSQLサーバを使用するのですが、今までSQLサーバは使用したことがありません。 何かよい勉強方法、書籍などはありませんでしょうか。 持っている環境と言えばMacのBootCampでインストールしてある、Windows VISTAしかありません。 お願いします、教えてください。

  • スキーマ所有者の変更とビューについて

    今、MCP(70-431)を受ける為、色々シミュレーション対策を 受験記等を見て、実際動かしながら情報を元に自分なりに やっているのですが、以下の3点の作成方法が分からなくて 対策ができなくて困っております。 ・スキーマの所有者の変更または、スキーマの移動 ・ビューにINSERTできないエラーの状況からの対処方法 (INSETED OFを使うと思いますが..) ・ユーザ定義データ型列の削除(ユーザ定義型の削除) SQL Server 2005をやっております。 受験した経験がある方がいましたら情報を下さい お願いします。

    • meteo14
    • 回答数1
  • データ型にVariant型みたいなのって存在するの?

    22歳男性っぽいです。 変数を宣言するとき、必ずデータ型を決メルト思うんですけど、この変数の型を固定せず、すべての値がはいるような型(variant型のようなもの)にするにはどうすればよいのでしょうか?

  • MSSQLとMySQLのSQL文の違いについて

    MSSQLとMySQLのSQL文の違いについて 恐れ入ります。 最近仕事にて、MSSQLを使用することを前提に開発したWebアプリをMySQLでも使用できるようにすることになりました。 接続関連の処理は置き換えが完了したところなのですが、MSSQLとMySQLで実行できるSQL文が違う点で問題が発生しています。 検索してみてもSQL文の比較一覧などは見当たらないようです。 ご存知の範囲で教えていただけないでしょうか。 また、そういった比較一覧の資料、サイト、書籍等ありましたら教えていただけないでしょうか。 現在把握しているものは以下の通りです。 [MSSQ]L [MySQL] TOP句 LIMIT句 GETDATE() CURDATE() まだこの程度しか把握できておりません。 どうぞよろしくお願いいたします。

  • SQLServer2000でバックアップしたデータを2005へ復元

    MSDE2000+VB6.0でシステムを構築しております。 容量の制限によりSQLServer2005に移行することになり MSDE2000のデータをバックアップし、 SQLServer2005にデータベース復元しました。 復元は問題なく完了しシステムも正常に稼動しています。 しかしながら、処理速度がかなり遅くなってしまいました。 (マシンスペックは、MSDE2000よりも格段に高くなっています) 2005に復元した際、他に何か処理を行わなければならないのでしょうか? ご教授いただければと思います。 よろしくお願いいたします。