Din*_*lla 3 database sql-server select stored-procedures sql-server-2008
我正在使用SQL Server2008。我有一个数据库Training,其中包含两种类型的存储过程,其名称以SP_V400_和开头spV400_。现在,我需要删除名称为prefix的存储过程spV400_。
我试过这个命令
SELECT 'DROP PROCEDURE [' + SCHEMA_NAME(p.schema_id) + '].[' + p.NAME + '] GO'
FROM sys.procedures p
WHERE p.name LIKE '%spV400%'
ORDER BY p.name
Run Code Online (Sandbox Code Playgroud)
但我收到一个错误:
消息102,级别15,状态1,第1行
'GO'附近的语法不正确。
您最终不需要GO。
尝试这个:
SELECT 'DROP PROCEDURE [' + SCHEMA_NAME(p.schema_id) + '].[' + p.NAME + ']'
FROM sys.procedures p WHERE p.name like 'spV400%'
ORDER BY p.name
Run Code Online (Sandbox Code Playgroud)
当然,这将为您提供输出中的SQL命令列表,您可以将其复制并粘贴到SSMS中并运行。