Sql 过程、函数或触发器中不允许使用语句
我有下面的代码,我已经把它放在一起,似乎工作得很好。但是,我需要将其放在存储过程中,但出现以下错误: 过程、函数或触发器中不允许使用语句 有人知道附近有工作吗Sql 过程、函数或触发器中不允许使用语句,sql,sql-server,stored-procedures,Sql,Sql Server,Stored Procedures,我有下面的代码,我已经把它放在一起,似乎工作得很好。但是,我需要将其放在存储过程中,但出现以下错误: 过程、函数或触发器中不允许使用语句 有人知道附近有工作吗 不用USE语句,只需使用完全限定的名称,即 DATABASENAME.SCHEMANAME.TABLENAME.ColumnName 你应该把它改成那样。您需要使用要在不同数据库上运行的存储过程前面的数据库(和架构)来指定完全限定名称 CREATE PROCEDURE SomeProc AS CREATE TABLE #Table
不用USE语句,只需使用完全限定的名称,即
DATABASENAME.SCHEMANAME.TABLENAME.ColumnName
你应该把它改成那样。您需要使用要在不同数据库上运行的存储过程前面的数据库(和架构)来指定完全限定名称
CREATE PROCEDURE SomeProc
AS
CREATE TABLE #TableRowCounts1
(
[TableName] VARCHAR(128),
[RowCount] INT
)
CREATE TABLE #TableRowCounts2
(
[TableName] VARCHAR(128),
[RowCount] INT
)
INSERT INTO #TableRowCounts1
(
[TableName],
[RowCount]
)
EXEC Database1.[dbo].sp_MSforeachtable
'SELECT ''?''
[TableName],
COUNT(*) [RowCount]
FROM ?'
INSERT INTO #TableRowCounts2
(
[TableName],
[RowCount]
)
EXEC Database2.[dbo].sp_MSforeachtable
'SELECT ''?''
[TableName],
COUNT(*) [RowCount]
FROM ?'
啊!完全没有注意到这一点。谢谢
CREATE PROCEDURE SomeProc
AS
CREATE TABLE #TableRowCounts1
(
[TableName] VARCHAR(128),
[RowCount] INT
)
CREATE TABLE #TableRowCounts2
(
[TableName] VARCHAR(128),
[RowCount] INT
)
INSERT INTO #TableRowCounts1
(
[TableName],
[RowCount]
)
EXEC Database1.[dbo].sp_MSforeachtable
'SELECT ''?''
[TableName],
COUNT(*) [RowCount]
FROM ?'
INSERT INTO #TableRowCounts2
(
[TableName],
[RowCount]
)
EXEC Database2.[dbo].sp_MSforeachtable
'SELECT ''?''
[TableName],
COUNT(*) [RowCount]
FROM ?'