私はこのコードブロックを持っており、実行時にエラーを修正する方法がわかりません。ストアドプロシージャパラメータのエラーが発生すると予想します
IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[Dan_IPro_to_II]') AND type in (N'P', N'PK'))
DROP PROCEDURE [dbo].[Dan_IPro_to_II]
GO
CREATE PROCEDURE Dan_IPro_to_II
@ipro_db SYSNAME,
@ipro_setid int,
@II_setid int
AS
BEGIN
SET NOCOUNT ON;
DECLARE @table_name SYSNAME
Declare @table_part VARCHAR(30)
Declare @db SYSNAME
DECLARE comp_cursor CURRSOR FOR
SELECT TABLE_NAME
FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_TYPE = 'BASE TABLE'
AND TABLE_NAME LIKE '%' + @ipro_setID + ''
ORDER BY TABLE_NAME
OPEN COMP_CURSOR
FETCH NEXT FROM COMP_CURSOR INTO @table_name
SET @table_part = 'IPro_' + replace(@table_name,'_' + @ipro_setID,'')
WHILE (@@fetch_status = 0 and @@error = 0)
BEGIN
print 'Copying ' + @table_name
EXEC ('if exists (select Table_Name from information_schema.tables where table_name = ''' + @table_part + ''') DROP TABLE ' + @table_part)
EXEC ('select * into ' + @table_part + ' FROM [' + @ipro_db + '].[dbo].' + @table_name )
FETCH NEXT FROM COMP_CURSOR INTO @table_name
END
print 'Completed Ipro Transfer ' [email protected]
CLOSE COMP_CURSOR
DEALLOCATE COMP_CURSOR
END
GO
これは、私は、ストアドプロシージャの実行時に私が取得エラーです:
メッセージ201、レベル16、状態4、手順Dan_IPro_to_II、行0
プロシージャまたは関数を 'Dan_IPro_to_II' パラメータを期待'@ipro_db'は提供されませんでした。
@Ipro_db
をどこに見つけるか教えてください。どこに置く?ストアドプロシージャの実行ステートメントでは?
ありがとうございます。
私はそれらをデータのインポートまたはエクスポートに話してみましたが、その方法を知っている人はいません。彼らはそれをこのようにしたい。
もう一度お手伝いします。
VBNewbie。
どのようにこのプロシージャを呼び出していますか? 3つの受信パラメータがあります。あなたはそれらを提供していますか? –
SQL Server Management Studioにはエクスポート/インポートウィザードが組み込まれており、カーソル内の動的SQLよりもはるかに簡単です。エラーメッセージは、プロシージャを実行していて、正しいパラメータを指定していないことを示しています。どのようにストアドプロシージャを実行していますか? – mheptinstall
はいエクスポート/インポート機能があります。人々はそれを知らないし、私は彼らにそのようにするように努めた。私は何のためにパラメータを渡すか分からない。私はコードが何を求めているのかは分かっていますが、実行可能なものを何に渡すべきかは不明です私は@ Ipro_db = iproデータベースと思います。それは正しい?私はコードを書かなかった。他の誰かがしました。私は見つけたものを修正し、何をすべきかを部分的に理解しています。私はインポート/エクスポート機能を使用しています。申し訳ありませんがそれよりも役立つことはできません。 – vbnewbie