SQLServer Cursor用Template

ストアドは苦手である・・・。

自分用メモとしてSQLServer Cursor用Templateを準備しておく。

 

--SELECTで返ってくる値を入れる箱

DECLARE @field1 varchar(50)

DECLARE @field2 varchar(50)

 

--Cursorの宣言

DECLARE [CursorName] cursor FOR

SELECT field1 ,field2 

FROM [TableName]

 

OPEN TmpCur

--FETCH

FETCH NEXT FROM [CursorName] INTO @field1,@field2

WHILE (@@fetch_status = 0)

BEGIN

 

    --@field1,@field1を利用して色々書きます。

 

    --次の処理用にFETCH

    FETCH NEXT FROM [CursorName] INTO @field1,@field1

END

--Cursor閉じる

CLOSE [CursorName]

--Cursor参照閉じる

DEALLOCATE [CursorName]

ADO Timeout

昔々に調べたこと・・・。

ConnectionTimeoutは規定で15秒
CommandTimeoutは規定で30秒

 

Command.CommandTimeout では、コマンド(クエリー)が実行されるまでどのくらい
待機するかということを示す。

Connection.ConnectionTimeout では、接続が開かれるまでどのくらい待機するか
ということを示しているためです。

スカラー関数・テーブル関数メモ

戻り値が、textntextimagecursor、および timestamp 以外の任意のデータ型

例)

--スカラー関数MonthTotalを作成

--月の金額合計を返す
CREATE FUNCTION MonthTotal
(
--引数
@sdate varchar(8),
@edate varchar(8)
)
RETURNS decimal(13,2)
AS
BEGIN
    DECLARE @ret decimal(13,2);
 
    SELECT @ret = SUM([price])
    FROM [table_name]
    WHERE [date] >= @sdate AND [date] <= @edate

    RETURN @ret
END
GO

--呼び出し
SELECT *,dbo.MonthTotal('20161001','20161031')
FROM table_name

 

table データ型を返します。

後日追記

WPF PanelControl

Wpfでの使用するPanelの概要

Gridが自由に配置できてよかったが実際の開発ではあまり使われないみたい・・・。

 

DockPanel
上下左右にコントロールをへばり付かせるようなパネル。
名前の通り、ドッキングさせるパネル
メニューバーの配置とか、ステータスバーの配置とかが楽にできる。

StackPanel
水平方向、或いは垂直方向にただただ配置するパネル。
やる事、やれる事がシンプルなので軽い。Gridよりは軽い。

WrapPanel
折り返しができるStackPanel。折り返しができるのがポイント。
折り返せることに意味がある。

Grid
格子状にコントロールを配置をできる。
別のGridと幅等を同期させる事も可能。
親戚にUniformGridというのがいる。
こいつにGridSplitterを連携させると、サイズ変更ができる。
また、Gridはコントロールを重ねて配置ができるので、それを利用することもある。

GridSplitter
Gridとセットで使われるスプリッタ。マススをドラッグすることでサイズ変更を可能にする。

Canvas
絶対配置ができるパネル系のクラス。Windows Forms系は大抵これだった。
ただ、WPFにおいて絶対配置するようなデザインをしないので、あまり使われない。