お問合せご意見はこちらに  
ナビゲーション リンクのスキップ
 
 
開発奮闘記
写真ギャラリー
玉椿(1/6ドールの世界)
 
 
販売管理システム
配置薬システム
ハンディターミナル
 
 
 
(準備中...) 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
特定商取引法について
プライバシーについて
SQL文自動作成について
指定のテーブルに対してプロシージャーの自動作成登録が行えます。
 ファイル作成後に直ぐに、SQL-SERVERにプロシージャーの登録を行うかの指定が可能です。

 Insert文、Update文、Delete文に対して SELECT @@ROWCOUNTをプロシージャー追加するかの指定が可能です。

  ここで作成されるSQL文はあくまでも基本的なものであり、そのまま使用できない場合は自分でプロシージャーの作成及び登録をする必要があります。 フィールドはできればNullを許可しない(Def値を設定する)方がよいでしょう。またバイナリーなどの特定のフィールドはNullを
許可して下さい。
 
1.Insert文  指定のテーブルのオートインクリメント以外のフィールドを引数(入力パラメータ)としたInsert文を自動生成する

  SELECT @@ROWCOUNTの追加の指定をした場合、挿入件数をIntで返します。

■SQL文■

CREATE PROC ストアドプロシージャー名
  @入力パラメータ1 NVARCHAR(nn) = Null
  ,@入力パラメータ2 INT = Null
   ,・・・・・・・・・・・・・・・・・・・・・・・・・・・・・
 AS

 INSERT [テーブル名]

VALUES
(
  COALESCE(@入力パラメータ1,(' '))
  ,COALESCE(@入力パラメータ2,(0))
 ,・・・・・・・・・・・・・・・・・・・・・・・・・・・・・
 )
 ------------------------------------------------------------------------------   
2.Insert2文  

 指定のテーブルに空レコード挿入後、オートインクリメントのIDを返すInsert文を自動生成します。オートインクリメントのフィールドが存在することが前提となります。

■ SQL文■

CREATE PROC ストアドプロシージャー名

 AS
  INSERT [テーブル名] ( フィールド ) VALUES ( (' ') )
  
 SELECT SCOPE_IDENTITY() --最後の ID 列の値

  フィールドはオートインクリメント以外の最初のフィールドを1つ

空レコードの挿入後に、挿入されたIDの値を返します。

また、このINSERT文の後にこのレコードを更新するUPDATE句を生成します。
これは以下の説明のUPDATEと同じです。

 ------------------------------------------------------------------------------
3.Update文

 指定のテーブルのフィールドを引数(入力パラメータ)としたUpdate文を自動生成します。
この場合のWHERE区は、主キー設定されたインデックスのフィールドになります。

SELECT @@ROWCOUNTの追加の指定をした場合、更新件数をIntで返します。

■SQL文■

 CREATE PROC ストアドプロシージャー名

  @入力パラメータ1 NVARCHAR(nn) = Null
  ,@入力パラメータ2 INT = Null
   ,・・・・・・・・・・・・・・・・・・・・・・・・・・・・・
 AS
 
  UPDATE [テーブル名]

  SET
     フィールド名1 = COALESCE(@入力パラメータ1,フィールド名1)
     ,フィールド名2 = COALESCE(@入力パラメータ2,フィールド名2)
    ,・・・・・・・・・・・・・・・・・・・・・・・・・・・・・
  WHERE
     主キーフィールド1 = @入力パラメータnn
 ------------------------------------------------------------------------------   
4.Delete文 
  
  指定のテーブルの主キーのフィールドを引数(入力パラメータ)としたDelete文を自動生成します。
 SELECT @@ROWCOUNTの追加の指定をした場合、削除件数をIntegerで返します。

■SQL文■

 CREATE PROC ストアドプロシージャー名
   @入力パラメータ1 NVARCHAR(nn) = Null
 
 AS

 DELETE FROM
   [テーブル名]
 WHERE
   主キーフィールド1 = @入力パラメータ1
 ------------------------------------------------------------------------------   
5.Select文  

  指定のテーブルの主キーのフィールドを引数(入力パラメータ)としたSelect文を自動生成します 。

 レコード件数を返す場合は入力パラメータ @区分 = '件数'で取得できます。
 通常、この内容に必要なselect文及びパラメータを追加して行きます。@区分を設定することにより必要なselect文を切り分けていきます。

■SQL文■

CREATE PROC ストアドプロシージャー名
  @区分 NVARCHAR(40) = Null
  ,@入力パラメータ1 NVARCHAR(nn) = Null

 AS

IF @区分 = '主キー'

  BEGIN
    SELECT
       *
   FROM
      [テーブル名]
    WHERE
      主キーフィールド1 = @入力パラメータ1
  END

IF @区分 = '件数'
  EXEC sp_spaceused [テーブル名]