我有一个我试图测试的存储过程.我试图通过SQL Management Studio测试它.为了运行这个测试,我输入...
exec my_stored_procedure 'param1Value', 'param2Value'
Run Code Online (Sandbox Code Playgroud)
最后一个参数是output parameter.但是,我不知道如何使用输出参数测试存储过程.
如何使用输出参数运行存储过程?
我有一个会改变的链接服务器.有些程序会像这样调用链接服务器:[10.10.100.50].dbo.SPROCEDURE_EXAMPLE.我们也有触发器做这种工作.我们需要找到[10.10.100.50]用于改变它的所有地方.
在SQL Server Management Studio Express中,我没有在Visual Studio中找到类似"在整个数据库中查找"的功能.一个特殊的系统选择可以帮助我找到我需要的东西吗?
我需要检查上次功能何时更改.我知道如何检查创建日期(它位于SQL Server Management Studio的函数属性窗口中).
我发现在SQL Server 2000中无法检查修改日期(请看这篇文章:是否可以确定SQL Server 2000中最后一次修改存储过程的时间?)
是否可以在SQL Server 2008中进行检查?MS是否在系统表中添加了一些允许检查它的新功能?
stored-procedures sql-function sql-server-2008 sql-server-2008-r2
我有一个MS SQL Server 2005数据库.在一些过程中,我将表参数作为nvarchar(以逗号分隔)传递给存储过程,并在内部划分为单个值.我将它添加到SQL命令参数列表中,如下所示:
cmd.Parameters.Add("@Logins", SqlDbType.NVarchar).Value = "jim18,jenny1975,cosmo";
Run Code Online (Sandbox Code Playgroud)
我必须将数据库迁移到SQL Server 2008.我知道有表值参数,我知道如何在存储过程中使用它们.但我不知道如何将一个传递给SQL命令中的参数列表.有谁知道Parameters.Add程序的正确语法?或者是否有另一种传递此参数的方法?
c# sql-server stored-procedures sqlcommand table-valued-parameters
我在看MySQL存储过程和函数.真正的区别是什么?
它们似乎相似,但功能有更多限制.
我可能错了,但似乎存储过程可以做所有事情,而存储功能可以做得更多.为什么/何时使用程序与函数?
如何为表中的每一行调用存储过程,其中行的列是sp的输入参数而不使用Cursor?
是否有一种优雅的方法来处理将id列表作为参数传递给存储过程?
例如,我希望我的存储过程返回的部门1,2,5,7,20.在过去,我已经通过逗号分隔的id列表,如下面的代码,但感觉真的很脏.
我认为SQL Server 2005是我唯一适用的限制.
create procedure getDepartments
@DepartmentIds varchar(max)
as
declare @Sql varchar(max)
select @Sql = 'select [Name] from Department where DepartmentId in (' + @DepartmentIds + ')'
exec(@Sql)
Run Code Online (Sandbox Code Playgroud) MySql上的错误消息:
Illegal mix of collations (utf8_unicode_ci,IMPLICIT) and (utf8_general_ci,IMPLICIT) for operation '='
Run Code Online (Sandbox Code Playgroud)
我已经经历了其他几个帖子,但无法解决这个问题.受影响的部分与此类似:
CREATE TABLE users (
userID INT UNSIGNED NOT NULL AUTO_INCREMENT,
firstName VARCHAR(24) NOT NULL,
lastName VARCHAR(24) NOT NULL,
username VARCHAR(24) NOT NULL,
password VARCHAR(40) NOT NULL,
PRIMARY KEY (userid)
) ENGINE = INNODB CHARACTER SET utf8 COLLATE utf8_unicode_ci;
CREATE TABLE products (
productID INT UNSIGNED NOT NULL AUTO_INCREMENT,
title VARCHAR(104) NOT NULL,
picturePath VARCHAR(104) NULL,
pictureThumb VARCHAR(104) NULL,
creationDate DATE NOT NULL,
closeDate DATE NULL,
deleteDate DATE NULL, …Run Code Online (Sandbox Code Playgroud) 我已经获得了一个只有执行存储过程权限的SQL Server数据库的用户帐户.我将JTDS SQL Server JDBC jar文件添加到SQL Developer并将其添加为第三方JDBC驱动程序.我可以成功登录到SQL Server数据库.我得到了运行该过程的语法:
EXEC proc_name 'paramValue1' 'paramValue2'
Run Code Online (Sandbox Code Playgroud)
当我将其作为语句或脚本运行时,我收到此错误:
Error starting at line 1 in command:
EXEC proc_name 'paramValue1' 'paramValue2'
Error report:
Incorrect syntax near the keyword 'BEGIN'.
Run Code Online (Sandbox Code Playgroud)
我尝试将语句包装BEGIN/END,但得到相同的错误.是否可以从SQL Developer调用该过程?如果是这样,我需要使用什么语法?
sql-server ×6
mysql ×2
sql-function ×2
c# ×1
cursor ×1
sql ×1
sqlcommand ×1
sqlite ×1
t-sql ×1
triggers ×1