Tag: 存储过程

如何做一个存储过程SELECT TOP @Param?

我正在尝试在proc中执行以下操作,但得到不正确的语法错误: SELECT TOP @NumberOfResultsToReturn * 我在这里做错了什么? 谢谢。

在存储过程中使用带有dynamicSQL的游标

我有一个在存储过程中创build的dynamicSQL语句。 我需要使用游标来遍历结果。 我很难搞清楚正确的语法。 这是我正在做的。 SELECT @SQLStatement = 'SELECT userId FROM users' DECLARE @UserId DECLARE users_cursor CURSOR FOR EXECUTE @SQLStatment –Fails here. Doesn''t like this OPEN users_cursor FETCH NEXT FROM users_cursor INTO @UserId WHILE @@FETCH_STATUS = 0 BEGIN EXEC asp_DoSomethingStoredProc @UserId END CLOSE users_cursor DEALLOCATE users_cursor 什么是正确的方法来做到这一点?

SQL Server:无效的列名称

我正在修改现有的SQL Server存储过程。 我在表中添加了两个新列,并修改了存储过程以及select这两列。 尽pipeSQL Server表中列可用,但仍然出现此错误: 无效的列名称“INCL_GSTAMOUNT” 谁能告诉我这里有什么问题吗?

我怎样才能确定工作的状态?

我有一个存储过程,安排一个工作。 这项工作需要很长时间才能完成(大约30到40分钟)。 我需要了解这份工作的状况。 以下细节将帮助我 1)如何查看未来计划的所有工作清单,但尚未开始 2)如何查看正在运行的作业列表以及运行时间 3)如何查看工作是否已经成功完成或由于任何错误而停滞。

MySQL:存储过程中的事务

我的存储过程的基本结构是, BEGIN .. Declare statements .. START TRANSACTION; .. Query 1 .. .. Query 2 .. .. Query 3 .. COMMIT; END MySQL版本: 5.1.61-0ubuntu0.11.10.1-log 目前,如果“查询2”失败,则提交“查询1”的结果。 如果任何一个查询失败,我怎样才能回滚事务?

存储过程中针对业务逻辑的争论

在存储过程中,针对和反对业务逻辑的争论是什么?

在存储过程中截断表

当我在Oracle shell中运行以下代码时,它工作正常 truncate table table_name 但是当我尝试把它放在一个存储过程 CREATE OR REPLACE PROCEDURE test IS BEGIN truncate table table_name; END test; / 它失败了 ERROR line 3, col 14, ending_line 3, ending_col 18, Found 'table', Expecting: @ ROW or ( or . or ; := 为什么? 谢谢,Klas Mellbourn

使用PL / pgSQL将多个字段作为PostgreSQL中的logging返回

我正在写一个SP,使用PL / pgSQL。 我想返回一个由几个不同表格的字段组成的logging。 可能看起来像这样: CREATE OR REPLACE FUNCTION get_object_fields(name text) RETURNS RECORD AS $$ BEGIN — fetch fields f1, f2 and f3 from table t1 — fetch fields f4, f5 from table t2 — fetch fields f6, f7 and f8 from table t3 — return fields f1 … f8 as a record END $$ […]

必须声明标量variables

@RowFrom int @RowTo int 都是存储过程的全局input参数,并且由于我正在使用T-SQL编译存储过程中的SQL查询,然后在存储过程结束时使用Exec(@sqlstatement)来显示结果,所以它给了我这个错误当我尝试使用@RowFrom或@RowTo里面的@sqlstatementvariables被执行..否则工作正常..请帮助。 "Must declare the scalar variable "@RowFrom"." 另外,我尝试在@sqlstatementvariables中包含以下内容: 'Declare @Rt int' 'SET @Rt = ' + @RowTo 但@RowTo仍然不会将其值传递给@Rt并生成一个错误。

如何从C#.net代码传递一个空variables到SQL存储过程

我从一个C#.net代码调用SQL存储过程: SqlHelper.ExecuteDataset(sqlConnection, CommandType.StoredProcedure, STORED_PROC_NAME, sqlParameters); sqlParametersvariables的定义如下: SqlParameter[] sqlParameters = new SqlParameter[SQL_NUMBER_PARAMETERS]; Log.Logger.Debug(string.Format("Running proc: {0} ", STORED_PROC_NAME)); SqlParameters[0] = new SqlParameter("fieldID", SqlDbType.BigInt ); SqlParameters[0].Value = fieldID; SqlParameters[0].Direction = ParameterDirection.Input; 我现在需要传入另外两个参数到这个存储过程(都是SqlDateTimetypes),在这种情况下这些参数都是NULL 。 谢谢, 在