カテゴリー別アーカイブ: IT

新しいImacを買うなら2019年を、待つべし

現在使用しているMacProは2012年モデル。
今日は2019年なので7年が経過した。
大抵の電化製品は8年が経過するといろいろとトラブルが発生する。

次のマシンを買っておいてもしものトラブルに備える必要ががある。

そこで、Imacを検討している。

3月に新しいImacが販売されるかもしれないのでちょっとまってみる

P277_SQL実践入門_前日の株価と比較して上下を示す

P277_SQL実践入門_前日の株価と比較して上下を示す
株価を前日と比較して上下同じを示す

考え方はSELECT句にSELECT句を入れて全体の出力に合わせて比較するというC言語でループを考えている人にとっては理解に苦しむSQLクエリである。
ぐるぐる回すループを使わなくてもSELECTでループみたいなことができることを示した例。

基本のテーブル

内部結語INNERJOIN

MAX

それぞれ
ただし同日は指定していないので、同日は<=としる

比較

SQLSERVER テーブルに存在しない列を作ってデータを表示する

カラムの別名はよく使うけど、存在しない列をSELECT文で追加する

SQLSERVER テーブルから新規テーブルを作成する

テーブルのデータに間違いがあって、ストアドやクエリから出力されたデータから間違いを探したいときに、出力結果をエクセルに貼り付けるが、大量になると探すのが面倒になる。
出力された結果をテーブルを作成してその中に入れておけばあとからでも見ることができるし調べるのも楽になる。

–SQLSERVER テーブルから新規テーブルを作成する SELECT INTOは初回実行のみ、2回めはエラーになるので2回目はINSERT INTO
–tmpa:新規テーブル CREATEで事前に作らなくてもよい
–Proc:既存テーブル
–Procテーブルと同じデータを持つtmpaを作りたい。
–SELECT INTOで作成されるテーブルはIndexや外部キーとかは作成されないらしい。あくまでも列のデータがコピーされる
SELECT * into tmpa FROM Procs–tmpaは新規テーブルでCREATEしていない

–FROM 以降のテーブルをSELECTで出力して新規テーブルに挿入する場合は別名にする
–別名にしないと警告が出る

続きを読む

ClassicASP デバッグはResponse.END

ClassicASP デバッグはResponse.END
やResponse.Writeを使って出力して探す
Response.END
でそこまでで実行が止まるので、エラー箇所を徐々に絞っていける。
時間はかかるけどResponse.Writeすらうまくいかないときは便利

IISのログ記録アイコンがない|ClassicASPでDB接続ができない

IISのログが出力されていなかったWIN10 ログ記録アイコンがない

・結論

コントロールパネルのWindows の機能の有効化または無効化にて
状態と診断のチェックを入れてインストールする

http://127.0.0.1/hiyoko/stoado01.aspで確認中
サーバ管理マネージャの設定が必要らしい
http://www.putise.com/server/windows-serevr-2008-r2/ii7-w3c-accesslog
でもWin10では
(1)サーバ管理マネージャをダウンロードした
続きを読む

selectして別のテーブルにINSERTするCREATEなしで、EXCEPT差分

まとめ
(1)新規テーブルに別のテーブルのデータをコピーしたい
select * into newtable from table where (条件)
この場合、同じクエリを実行するとすでにnewtableがあるよエラーになるので初回だけ使える
つまり、すでにnewtableが存在するときは使えない。
CREATE TABLEをしなくてもnewtableが作成されるので手間を省ける

(2)すでに存在するテーブルに別のテーブルからコピーしたい
insert into anotherTable select 列 from table where (条件)
(例)INSERT INTO newMember SELECT * FROM Member

<(1)の場合の例>
Memberテーブルがあったとする(name,age,cityの列)
このテーブルと同じテーブルを作りたい。
使い方は、クエリを書いていて、他のクエリに改良したときに、出力内容が同じかを確かめたいときに、それぞれのクエリのSELECT出力を新しいテーブルに入れる。
そして、2つ(もしくは3つとか)のテーブルを下記のEXCEPTで比較して0件なら同じ出力と言える。
数百行程度なら出力内容をコピーしてエクセルに貼り付ければよいが、これが10万件とかだとエクセルに貼り付けて確認するのも面倒になる。
そこで、SQLManagementStudioで確認できればそれが早い

テーブルを作ってデータを入れて確認したいときに、いちいちCREATE TABLEして列と型を書いて、、、とするとイライラするので無駄な手順が省けると非常に助かる。
でも一部の列だけの情報がほしいときは結局はCREATE TABLEでテーブル定義必要だったりする。

member一覧
member:もともとのテーブル
newmember:memberから新しいテーブルを作る

[select * into newtable from table]はすでにテーブルが存在すると既にテーブルがあるよエラーになる。
–すでにテーブルが存在するときは

INSERT INTOを使う

すでにテーブルが存在するのにSELECT INTOを使うとエラーになる。
すでにあるよエラー
EXCEPTで差分を調べる。同じ列である必要がある

テーブル同士で差分を調べる

–NewMemberの一部を変更してみた

またテーブルのみならず
SELECTで出力した内容を挿入したいときは
–FROM のテーブルをSELECTで出力して新規テーブルに挿入する場合は別名にする
–別名にしないと警告が出る

それか、一旦別のテーブルに入れてからさらに、SELECT INTOしてもよいかも