存储过程的问题
以下是代码:
运行后提示
消息 102,级别 15,状态 1,过程 createDB,第 24 行
'\' 附近有语法错误。
请问该怎么解决,谢谢了啊
CREATE PROCEDURE createDB
-- Add the parameters for the stored procedure here
@name varchar(20) = 'test'
--<@Param1, sysname, @p1> <Datatype_For_Param1, , int> = <Default_Value_For_Param1, , 0>,
--<@Param2, sysname, @p2> <Datatype_For_Param2, , int> = <Default_Value_For_Param2, , 0>
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;
-- Insert statements for procedure here
IF @name IS NULL
RETURN 1
ELSE
IF exists (SELECT * FROM sys.databases WHERE name = @name)
Exec ( 'drop database' + @name )
DECLARE @s varchar(1000)
set @s = '
CREATE DATABASE School
ON
(
NAME = @DBname,
FILENAME = 'C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Data\' + @DBname + '.mdf',
SIZE = 10,
MAXSIZE = 50,
FILEGROWTH = 5
)
LOG ON
(
NAME = @DBname + 'Log',
FILENAME = "C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Data\'+@DBname+'Log.ldf",
SIZE = 5MB,
MAXSIZE = 25MB,
FILEGROWTH = 5MB
)
'
EXEC @s
END
GO
相关推荐
oracle存储过程编译错误问题
NULL 博文链接:https://forlab.iteye.com/blog/1821751
解决存储过程被锁无法编译的问题
解决存储过程被锁无法编译的问题解决存储过程被锁无法编译的问题解决存储过程被锁无法编译的问题解决存储过程被锁无法编译的问题
mysql 存储过程的问题
一开始用phpMyAdmin来执行,后来出现一堆错误,后来去掉了begin,end之后可以正常执行,但要执行存储过程,在phpMyAdmn中不行,而在mysql命令行文本框中就可以。 接下来又遇到更难的问题,在存储过程中加入预处理语句,更不行了,在mysql命令行文本框下执行同样,下面的运行记录,给大家参考,能否有高手来帮助。 代码如下:mysql> CREATE PROCEDURE catalog_get_products_in_category( -> IN inCategoryId INT, IN inShortProductDescriptionLength INT, -> IN i
mysql多次调用存储过程的问题
问题是这样的,在直接使用mysql c api构建应用的时候,一个连接只能执行一次存储过程,不管怎样free再次利用这个连接的时候就会出现不能执行qurry的提示,我想,这么大型的软件 不会存在这样的基础性问题吧,毕竟大多数的adodb都是基于c api的,难道所有的软件都无法进行连接缓存? 别说,接触到这类问题的人还真不多,大多数的连接池都写好了,谁会去直接构建连接进行操作呢,所以baidu google基本都没有结果,今天回头来解决这个问题,突然就有了突破,找到了一篇文章《对Mysql的C API调用存储过程的问题及解决方法分析》,正是我的问题。 作者分析的挺复杂了,其实我们一般只用mys
mysql中存储过程、函数的一些问题
最近写一些mysql的存储过程和函数,发现网上比较有价值的文档很少,大都是照着手册上抄来的,有些实际问题解决不了,比如用变量作表名。 经过反复调试,总算找到解决办法,一下是一些简单的记录,比较零碎。部分内容转自http://my.opera.com/Dereky/blog/show.dml/322997 1.用变量做表名: 简单的用set或者declare语句定义变量,然后直接作为sql的表名是不行的,mysql会把变量名当作表名。在其他的sql数据库中也是如此,mssql的解决方法是将整条sql语句作为变量,其中穿插变量作为表名,然后用sp_executesql调用该语句。 这在mysql5


