Microsoft SQL Server 総合スレ3【MS SQL】 SQL2000のSP4ってMS03-031以降のセキュリティアップデートって何か含んでます?
_____ / ̄ ̄ ̄ ̄\,, /−、 −、 \ /_____ ヽ / | ・|・ | 、 \ | ─ 、 ─ 、 ヽ | | / / `-●−′ \ ヽ | ・|・ |─ |___/ |/ ── | ── ヽ | |` - c`─ ′ 6 l |. ── | ── | | . ヽ (____ ,-′ | ── | ── | l ヽ ___ /ヽ ヽ (__|____ / / / |/\/ l ^ヽ \ / / | | | | l━━(t)━━━━┥
955 :
NAME IS NULL :2006/03/07(火) 10:53:01 ID:RKE0wbv3
SQL Serverの無料版ありませんか。
MSDE
>>957 これって(2000でいう)DTSみたいなのは使えるんですか?
無料なんだから自分で試せよ
>>958 IntegrationServiceは駄目って機能比較のとこに書いてあるじゃん
DTS使えないからMSDEでいいやって思うおれ
MSDEにはDTSはついてないだけで使えるのは使えるんじゃないの?
963 :
946 :2006/03/07(火) 22:14:07 ID:???
>949 レスありがとうございます。 亀レスすいません。 やっぱり細かく検証するためには6.5必要ですね。
964 :
NAME IS NULL :2006/03/08(水) 23:23:02 ID:smSr7Xvp
32bit版上のデータベースをデタッチして、64bit版に正常にアタッチすることは出来ますか? あと、32bit版から64bit版にmsdbを移すことが出来ますでしょうか?
965 :
964 :2006/03/08(水) 23:28:03 ID:???
すいません、ググッたら2005はもちろん、2000でも出来るみたいでした。
SQLの記述に関する質問です。 テスト結果テーブル ※KEY項目は無し 名前 年齢 国語 数学 英語 −−−−−−−−−−−−−−−−−−− たろう 12 10 100 50 ←@ たろう 12 30 50 20 ←A はなこ 13 80 50 50 ←B はなこ 13 90 70 50 ←C はなこ 14 10 10 10 ←D 項目「名前」と「年齢」が同一のものが複数存在した場合は、 最初の1件目のデータのみ抽出する ↓ <抽出したい結果> 名前 年齢 国語 数学 英語 −−−−−−−−−−−−−−−−−−− たろう 12 10 100 50 ←@ はなこ 13 80 50 50 ←B はなこ 14 10 10 10 ←D SQLのみで記述してこのような結果を抽出するには どうしたら良いのでしょうか? 環境はSQLServer2003です
今から2000のDEV買って開発を始める俺はアフォですか? あと、もう2000って生産中止ですか?
>>966 最初の1件目というのを判別する連番などのカラムは有りませんか?
>>968 ないようです。
やはり、判別する項目がないと無理そうですよね。
>>969 そもそも、最初の1件ってのが定義あいまいなんだよ。
テーブルに格納されているデータは順序が保証されないから、例のように
1件目って言われても「はぁ?」って感じ
SELECT TOP 1
>>972 order by なしの top 1 だと、たまたま最初にヒットした1件目ということかい?
>>973 そゆこと。最初の1件であることは確か。順序はわからんけどw
966です。レス有難うございます。
SELECT DISTINCT
TB1.名前,TB1.年齢,TB1.国語,TB1.数学,TB1.英語
FROM
(
SELECT
名前 AS 名前,
年齢 AS 年齢,
国語 AS 国語,
数学 AS 数学,
英語 AS 英語,
(文字型の国語+文字型の数学+文字型の英語)AS 科目
FROM テスト結果テーブル
)AS TB1,
(
SELECT
名前 AS 名前,
年齢 AS 年齢,
MIN(文字型の国語+文字型の数学+文字型の英語) AS 科目
FROM テスト結果テーブル
WHERE xxxxx
GROUP BY
名前,年齢
)AS TB2
WHERE TB1.科目=TB2.科目
こんな感じにしてみました。
>>970 の通りなので、これでOKが貰えると思います。
なんで全角で書くかね。
実行するたびに値が変わっても文句は言えないよ。
TOP 1で出てくるレコードって、インデックス無しのテーブルではどうやって決まってるんだ? リストアで変わったりするようなのだが、そういうものなのか?
>>899 ちょっと日がたってるけど気になったので。
マニュアルも探せないヴぁかのくせに悪態つかないほうがいいぞ。
>>980 余程悔しかったのですね!( ´,_ゝ`)プッ
982 :
980 :2006/03/12(日) 19:27:18 ID:???
ん?漏れは単なる通りがかりよ。 マニュアルとかってWebを見ればすぐに見つかるものなのに、それすらしないくせに文句言うやつが頭にきただけ。 身近にいるやつとダブった。 聞き流しておくれ。
>>982 そんなに顔を真っ赤にして目に涙を浮かべて必死にならないでも・・・( ´,_ゝ`)プッ
>>979 物理的な読み出し順等になるかと。
バックアップ時に、何らかの順番に変わっていれば
リストアもその順番になるだろう。
>>980-983 /\___/\
/ -‐' 'ー-' ::: \
| (●), 、(●)、 | ・・・・バカなんだから
| ,,ノ(、_, )ヽ、,, |
\ `ニニ´ .:::/
/`ー‐--‐‐―´´\
トリガについて教えてください。 レコードが更新された時に、ある列を自動更新がしたく、 CREATE TRIGGER [dbo].[table1_flgupdate] ON [dbo].[table1] FOR INSERT, UPDATE AS UPDATE table1 SET flg = flg + 1 FROM inserted WHERE table1.code = inserted.code のようなトリガを作成しました。 フラグの更新はこれで問題なかったのですが、 そのフラグを 0 に戻したい処理があるのですが、 その場合でも、上記トリガで 0 に更新された後に 1 に更新されてしまい、フラグを 0 の状態にできません。 更新された値が 0 の場合は、トリガを実行させないように するにはどうすればよいでしょうか? フラグを 0 に更新している箇所で -1 に更新する、というのは 避けたく、トリガの中だけでなんとかしたいと思っています。 アドバイスよろしくお願いします。
>>986 ALTER TABLE xxx DISABLE TIGGER xxx でトリガを無効にするか、
IF UPDATE(flg) を使ってflgが直接更新されたときとそれ以外のときで処理を分ける。
988 :
986 :2006/03/13(月) 18:22:41 ID:???
>>987 ありがとうございます。
IF UPDATE(flg) を試しているのですがうまくいかないので
おかしい所を指摘頂けないでしょうか?
CREATE TRIGGER trig_name on db.table1
FOR INSERT, UPDATE
AS
IF UPDATE(flg)
RETURN
ELSE
BEGIN
/* 処理 */
END
というトリガがある状態で、
update table1 set flg = 0
とやった場合、トリガの /* 処理 */ の内容が実行されてしまいます。
IF UPDATE(flg) で flg が更新された場合は RETURN しているので
抜けていくと思っているのですが、抜けていきません。
何か大きな勘違いをしていますでしょうか?
>>988 CREATE TRIGGERの説明を読むとIF UPDATE()に対しては
ELSEが使えなさそうだけど、その構文で通った?
990 :
986 :2006/03/13(月) 23:21:39 ID:???
>>989 ELSE 通りました…。
不安だったので ELSE をやめて、
IF UPDATE(flg) RETURN
BEGIN
/* 処理 */
END
にかえてみましたが同じ結果でした。
>>988 その範囲は間違ってないような。
再帰クエリーオンにしてるとか、処理のところで条件なしのUPDATEを実行してるとかしてない?
992 :
986 :2006/03/13(月) 23:49:45 ID:???
>>991 ありがとうございます。整理して調査してみたら
別のトリガで更新された結果、再度トリガが起動されているような
状態でした。失礼しました。
1つ気になる所があるので教えて頂きたいのですが、
IF UPDATE(flg) RETURN
の flg が、テーブルデザイン上でデフォルト値が設定されたいた場合
INSERT のトリガで UPDATE(flg) はどのように判断されるのでしょうか?
というのは、今度は INSERT で UPDATE(flg) にひっかかってしまい、
RETURN で抜けてしまうようでそれ以降の処理が実行されなく
なってしまいました。この IF UPDATE(flg) RETURN の行をコメント
アウトすると処理が実行されるので flg が更新対象フィールド
という判定になっていると思うのですが、INSERT を行なっている
箇所をみても flg に値はセットしておらず、考えられるのが
デフォルト値に設定されているからかな、と思うのですが…。
根本的な質問だけと、みんな、何で接続してる? ODBC、ADO、DAO〜 OLE DB....他になんかあるか? パフォーマンス重視するなら何がいいよ? 一概に何がいいとは言い切れないと思うけど....
普通、ADOだろ。 つか、OLE DBインターフェースをラップしたものがADOで、 ODBCインタフェースやOLE DBインターフェースを直接呼んでる人は おつかれさんって感じ。
Java/JDBCでやってる。
生産性も納期も無視してアプリケーションのパフォーマンスだけを追求できるような 研究職じゃないんでね
BDE/SQL Link...
男は黙ってDBLib/NetLib
元は 男は黙ってサッポロビール だっけ
1001 :
1001 :
Over 1000 Thread このスレッドは1000を超えました。 もう書けないので、新しいスレッドを立ててくださいです。。。