ma-100140 @ ウィキ SQL Server

※上記の広告は60日以上更新のないWIKIに表示されています。更新することで広告が下部へ移動します。

SQLServer と他のDBとのデータ連携

Access mdb と adpの違い

mdbからadpへアップサイジングする時の注意事項をまとめます。

  • 違い
    項目名 mdb adp 説明
    like句 like 'xxx*' like 'xxx%'
    日付の引用符 #2011/09/16# '2011/09/16'
    UPDATE文中でのINNER JOIN UPDATE T_tab1 INNER JOIN tab2 ON (T_tab1.ID = tab2.ID) SET T_tab1.金額 = tab2.金額; UPDATE T_tab1 SET T_tab1.金額 = tab2.金額 FROM T_tab1 INNER JOIN tab2 ON (T_tab1.ID = tab2.ID)

ストアードプロシージャー作成時のエラー

Msg 208, Level 16, State 6, Procedure Q_XXX, Line 10
Invalid object name 'dbo.Q_XXX'.

SQL Server Management Studio Expressを使って、既存のPROCEDUREを見ながら作成しました。
構文のチェックをしても大丈夫ですが、いざ、実行すると上記エラーになります。
ちなみに定義は

set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
GO
-- =============================================
-- Author:		<Author,,Name>
-- Create date: <Create Date,,>
-- Description:	<Description,,>
-- =============================================
ALTER PROCEDURE [dbo].[Q_XXX]
	@NVCHValue nvarchar(50)
AS
BEGIN
	UPDATE T_XX1 SET T_XX1.XX2 = @NVCHValue
END

よくよく考えてみると、何でALTERなのか?
ここをCREATEに修正してみると、見事にうまく行きました。
どうもManagement Studioでは既存のProcedureを開いたからALTERになっていただけのようです。 新規の作成はCREATEです。