2018-09-01から1ヶ月間の記事一覧
共通テーブル式(CTE式)を使った再帰検索 ↓ WITH CTE ( COMPANY_CD , SECTION_CD , SECTION_NAME , PARENT_SECTION_CD , PATH ) AS ( SELECT COMPANY_CD , SECTION_CD , SECTION_NAME , PARENT_SECTION_CD , CONVERT(VARCHAR(100), ISNULL(SECTION_CD, ''))…
(統計情報の更新クエリ) USE <データベース名>; GO UPDATE STATISTICS <スキーマ>.<テーブル名> WITH FULLSCAN; GO (統計情報の出力)※上記統計情報の更新を確認する SET NOCOUNT ON; GO SELECT syst.name AS [テーブル名] , syst.object_id AS [テ…
SQLファイルのSELECTクエリの前に「SET NOCOUNT ON」を付けると出力結果ファイルに件数が出力されない。 sqlcmd -S <DBサーバ名> -U <ユーザー> -P <パスワード> -d <DB名> -i <SQLファイルパス> -s, -W -h -1 -o <出力ファイルパス> s:区切文…
①「start」呼び出し start呼び出しの場合、別ウィンドウ(別スレッド?)で呼び出される。 呼び出したバッチ処理の終了を待たずに、呼び出し元の処理は続く。 start E:\bat\test.bat 引数1 ②「call」呼び出し call呼び出しの場合、同じウィンドウで呼び出し…
(インデックス付きのビューを作成する条件) CREATE VIEW ステートメント実行時、ANSI_NULLSオプションとQUOTED_IDENTIFIERオプションがONに設定されている ビューで参照するベーステーブルの作成時にもANSI_NULLSオプションがONに設定されている ビューが…
SQL Server Management Studioでは処理速度が速いのに、アプリから実行すると処理速度が遅い場合、JDBCのキャストに問題があることがある。 SQL ServerのJDBCドライバはデフォルトでUnicodeで処理される。 SQL ServerではvarcharがSJIS、nvarcharがUnicodeな…
@echo off setlocal rem タイムスタンプ情報の取得 call :GET_TIMESTAMP rem ログファイル名の設定 set BATCH_LOG=%LOG_DIR%\batch_%DATE_TMP%.log ・ ・ ・ ・ rem 処理開始ログ出力 call :LOG INFO 処理を開始します。 rem 引数の確認 set ARG=%1 if "%ARG…
①ストアドプロシージャ実行 SQLCMD -Q "EXIT(SET NOCOUNT ON;DECLARE @ret int; EXEC @ret=<スキーマ>.<ストアドプロシージャ>; SELECT @ret;)" -o <ログファイルパス> -S <DBサーバ名> -U <ユーザー> -P <パスワード> -d <DB名> ②SQLファイル…
Option Explicit Const useRemoteSMTPService = 2 Dim objMsg Dim mailServer Dim mailPort Dim message Dim fromAddress Dim toAddress Dim mailBody mailServer = "111.222.333.444" ' メールサーバ(IPアドレス) mailPort = 25 fromAddress = "admin@tes…
Option Explicit Dim Fso Dim Shell Dim folder Dim file Dim DateNow Dim ZipFileName Dim ZipFilePath Dim fldrName Dim fileCount Dim EmptyData Dim ZipFolder Dim CompressItem Dim Date400 Dim i 'オブジェクト作成 Set Fso = CreateObject("Scripting…
下記のコマンドを実行して、プログラムが使用しているユーザーに実行権限を付与する。 USE <DB名> GO GRANT EXECUTE ON OBJECT::<スキーマ>.<ストアドプロシージャ名> TO <対象ユーザー> GO 【参考サイト】 blog.itparadise.jp
①フォーマットファイルの区切り文字にダブルクォーテーションを追加する。 12.0 9 1 SQLCHAR 0 4 ",\"" 1 COMPANY_CD Japanese_XJIS_100_BIN2 2 SQLCHAR 0 100 "\"," 2 COMPANY_NM Japanese_XJIS_100_BIN2 3 SQLCHAR 0 14 "," 3 START_DATE Japanese_XJIS_10…
①フォーマットファイルの作成 https://doogienotes.hatenablog.com/entry/2018/09/05/162708 ②インポート bcp <スキーマ>.<テーブル名> in <インポートファイルパス> -f <フォーマットファイルパス> -e <エラーログパス> -c -C 65001 -S <DBサー…
文字データ用フォーマットファイルの作成 bcp <スキーマ>.<テーブル名> format nul -c -f D:\work\FMT\company_mst.fmt -t\t -S <DBサーバ名> -U <ユーザー> -P <パスワード> -d <DB名> <引数> format:フォーマットファイル作成指示 nul:デ…
「OFFSET 0 ROWS」を付与する CREATE VIEW <ビュー名> AS SELECT * FROM COMPANY_MST WHERE COMPANY_CD = '1234' ORDER BY START_DATE OFFSET 0 ROWS ; 【参考サイト】 kino2nd.hatenablog.com
CREATE PROCEDURE <スキーマ>.<ストアド名> @PRM_COMPANY_CD VARCHAR(4) , @RETURN_CD INT OUTPUT AS BEGIN DECLARE @COMPANY_CD VARCHAR(4); DECLARE @COMPANY_NM VARCHAR(100); DECLARE @PROC_RETURN_CD INT; DECLARE CUR_COMPANY CURSOR FOR SELECT C…
一時テーブルの種類 ①ローカル一時テーブル 作成したユーザーだけが使用できるテーブル。 ユーザーがセッションを切断すると削除される。 テーブル名の先頭に「#」をつける。 ②グローバル一時テーブル すべてのユーザーが使用できるテーブル。 一時テーブル…
<フェッチ項目を格納する変数の宣言> DECLARE @COMPANY_CD VARCHAR(4); DECLARE @COMPANY_NM VARCHAR(100); <カーソルの宣言> DECLARE CUR_COMPANY CURSOR FOR SELECT COMPANY_CD , COMPANY_NM FROM COMPANY_MST WHERE KBN = '1' ORDER BY START_DATE ; …
USE <DB名>; GO IF OBJECT_ID(N'<スキーマ>.<ストアド名>') IS NOT NULL DROP PROCEDURE <スキーマ>.<ストアド名>; GO CREATE PROCEDURE <スキーマ>.<ストアド名> @PRM_COMPANY_CD VARCHAR(4) <引数1> , @PRM_COMPANY_NM VARCHAR(100) <引…