FrontPage
- SQLServer Tips一覧 [#edb2c2b2]
- ls
- 旧Tips(整理していないのでフラットな状態で表示されています) [#s9ef7244]
- ネットワーク経由でMSDEに接続できない [#pcd5ca8d]
いくつか原因があると思うが、 まずはサーバーへTELNETで1433番に接続してみる。 接続できなかったら、通信自体失敗している。
今回はMSDE側でTCP/IPの接続を受け付けていない設定になっていた。 設定は以下のツールで行う(インストール場所によりパスは変わる)
C\Program Files\Microsoft SQL Server\80\Tools\Binn\SVRNETCN.exe"
このツールを起動してTCP/IPを有効にしてやることで接続可能になった。
- Transact-SQL [#r8cdaea3]
- テーブル名の一覧表示 [#q286eeb7]
select name from sysobjects where xtype = ‘U’
- テーブルの定義表示 [#a0f35f24]
exec sp_help [テーブル名]
- SUM等の集計関数を使うときの注意点(やや未確認の情報) [#cc05f528]
古くて申し訳ないがDAO2.7の話。 SUM()などを使って集計値を取った場合にフィールドの値を列名で指定してレコードセットから取得する場合、 ASを指定して別名を明示的に指定しないといけない。
SELECT SUM(Kingaku) AS Kingaku FROM URIAGE GROUP BY CustomerID
以下のようにASで別名を指定しない場合はクエリアナライザで動かすと(列名なし)という状態になる。
SELECT SUM(Kingaku) FROM URIAGE GROUP BY CustomerID
困ったことにDAOでは(ADOとかは試してない)この状態で「Kingaku」のフィールドを取得しようとしても 特にエラーにならずに0が返ってくる。
- コメント方法 [#q286eeb7]
一行コメントは「-」を2回連続で入力するとなります
-- SELECT SUM(Kingaku) FROM URIAGE GROUP BY CustomerID
複数行コメントは「/* ・・・ */」ですね
/*
SELECT SUM(Kingaku) FROM URIAGE GROUP BY CustomerID
SELECT MAX(Kingaku) FROM URIAGE GROUP BY CustomerID
*/
応用として
SELECT
SUM(Kingaku) -- 総金額です!!
FROM
URIAGE GROUP BY CustomerID
- VBとの関連 [#pa9c357f]
- SQL文の書き方のコツ [#fd43f6f0]
そもそもこれがよいのかは別として、だらーとSQLをPGに埋め込んでしまう場合は、わかりやすくなる。
sql = "INSERT INTO " & pstrTableName & " (" sql = sql & "[CustomerName]" sqlv = sqlv & CStr(.strCustomerName) & " " GetSQL = sql & ") VALUES (" & sqlv & ");"
みたいな感じで列とVALUEを並べて書いて後でがっちゃんこする。
- Enterprise Manager [#n098f108]
- テーブルの編集画面でNULLをフィールドに入れる [#ucd4f47c]
ctrl + 0を押すと、NULL値が入る