动态sql语句问题

DataBox-MDX DataBox-MDX 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区

USE MyDB
GO
CREATE PROC [dbo].[test]
AS
BEGIN
PRINT 'HI'
END

这段sql单独拿出来执行没问题,执行结果在MyDB中建立了一个存储过程。
但是。

declare @sql nvarchar(max)
set @sql=''
set @sql='
USE MyDB
GO
CREATE PROC [dbo].[test]
AS
BEGIN
PRINT ''HI''
END
'
错误信息:
消息 102,级别 15,状态 1,第 1 行
'GO' 附近有语法错误。
消息 111,级别 15,状态 1,第 7 行
'CREATE/ALTER PROCEDURE' 必须是查询批次中的第一个语句。

如果我先执行
[code=SQL]
set @sql=N'
USE MyDB
’
exec @sql

然后再执行

set @sql=N'
CREATE PROC [dbo].[test]
AS
BEGIN
PRINT ''HI''
END
'
exec @sql

那么该存储过程会建立在Master.
而我想将该存储过程建立在MyDB上,请高手赐教。

[/code]
...全文

相关推荐

MyBatis增删改查:静态与动态SQL语句拼接及SQL注入问题解析

MyBatis增删改查:静态与动态SQL语句拼接及SQL注入问题解析

重生之成了双非看我逆天改命走向巅峰

数据库领域:SQL 动态语句的安全性问题

本文旨在全面分析SQL动态语句的安全性问题,帮助开发人员理解SQL注入攻击的原理和防御方法。文章涵盖从基础概念到高级防御技术的完整知识体系,适用于各种主流数据库系统(MySQL、PostgreSQL、SQL Server等)。文章首先介绍SQL动态语句的基本概念,然后深入分析安全问题,接着提供多种防御方案和最佳实践,最后讨论未来发展趋势。动态SQL:在运行时构建和执行的SQL语句,通常包含用户输入或变量SQL注入:攻击者通过在用户输入中插入恶意SQL代码来操纵数据库查询的攻击方式参数化查询。

数据架构师的AI之路

ABAP SQL 语句 动态 操作

本程序自主开发,包括SELECT,UPDATE,DELETE,INSERT操作,SELECT 语句可以根据自定义的内表动态的输出ALV 列表,UPDATE DELETE INSERT 语句可以对数据库表进行操作. 切忌谨慎应用此程序对数据库的操作,以免造成数据的丢失.此程序仅共学习

ricoERP

MySQL 存储过程中执行动态SQL语句的方法

drop PROCEDURE if exists my_procedure; create PROCEDURE my_procedure() BEGIN declare my_sqll varchar(500); set my_sqll='select * from aa_list'; set @ms=my_sqll; PREPARE s1 from @ms; EXECUTE s1; deallocate prepare s1; end; 您可能感兴趣的文章:mysql 存储过程中变量的定义与赋值操作mysql存储过程详解mysq

weixin_38625416

MyBatis 执行动态 SQL语句详解

大家对mybatis执行任意sql语句都了解,那么MyBatis执行动态SQL语句呢?下面脚本之家小编给大家解答下mybatis执行动态sql语句的方法,非常不错,感兴趣的朋友参考下吧

weixin_38638033
评论 9
收藏 已收藏
分享
返回顶部
DataBox-MDX
疑难问题 22,298 成员 121,727 内容