Stored procedures 使用不带try-catch的事务

我想在不使用try-catch的情况下使用事务。但我不知道如何分配回滚。下面的语句始终是commit。请帮帮我@@错误可以捕获一个错误。所以,我不想用这个 BEGIN TRANSACTION INSERT Person values (@name,@age); INSERT User values (@name,@age); IF @@TRANCOUNT>0 COMMIT TRANSACTION ELSE ROLLBACK TRANSACTION

Stored procedures uniqueidentifier与int错误不兼容

这是我存储过程中的Select语句,我正试图根据用户输入的开始日期获取所有案例。我不断得到“uniqueidentifier与int不兼容”。我不知道该怎么办 ( SELECT COUNT(DISTINCT C.CaseID) FROM [Case] C INNER JOIN CaseOffice COD ON C.CaseId = COD.CaseId INNER JOIN Office OD ON

Stored procedures 保存变量并显示记录和时间差的存储过程

我使用的是一个GPS车辆跟踪装置,它被编程为在不移动时每5分钟发送一次车辆位置信息,在移动时每100米发送一次,并将其存储在DB中 该数据库有一个名为vehiculo_punto_gps的表,用于存储数据,其中包含每个位置/记录的速度、位置、日期时间、地址、vehicle_punto_gps_id等值 vehicle_gps_id | datetime---------- | latitude | longitude | speed 1000------------| 05/16/2012

Stored procedures 使用SP插入多值

我有两张桌子 1-学生表和2-分数表 我想在student表中插入值,并在带有SP的Score表中向sqlserver2008插入多值 例如: ALTER proc [dbo].[InsertIntoScore] ( @DateReg datetime, @stdLastName nvarchar(50), @stdFirstName nvarchar(50), @Description nvarchar(500), multi value as score table... ) AS DEC

Stored procedures 如何连接活动报表7以使用存储过程?

如何连接活动报表7以使用存储过程?我已经编写了存储过程,但是如何连接到它们以使用表中的数据,从而使我的报表是动态的。ActiveReports 7有两种不同的报表类型,使用存储过程的方式略有不同 如果您使用的是SectionReport(即ActiveReports 6中提供的传统报告形式),则可以通过查询中的EXEC SQL命令执行存储过程。f、 e EXEC sp\u mysp' 在PageReport(即ActiveReports 7中引入的新报告类型)中,需要将命令类型设置为存储过程,然

Stored procedures tsql未触发(通过ssis的存储过程)-SQL Server 2012

我创建了许多存储过程中的一个作为ETL过程的一部分,但存储过程中的一个查询没有执行 环境是SQL Server 2012 SP2 奇怪的是- 运行“插入受影响的查询-返回行”的“选择”部分 运行“插入受影响的查询-插入行” 通过SSMS运行整个存储过程-插入行 通过SSIS运行-所有其他查询都会运行,除非有问题 我的存储过程中没有条件,例如,如果x=True,则返回,并且其中也没有调试代码,例如,返回。也没有事务,我从中读取的表是一个由数据流填充的临时表 查询: INSERT INTO Pers

Stored procedures 我们可以使用客户端访问执行存储过程调度吗?

我有Oracle SQL开发人员客户端。我试着运行我的存储过程,得到了肯定的结果 现在,我需要安排存储过程。我按照正确的步骤安排存储过程的执行。但是,这些程序没有在预定的时间执行 我对客户端数据库的权限有疑问。我们可以安排一个具有客户端访问权限的存储过程吗?否则,有没有办法检查现有客户端是否有执行计划的权限?您遵循的“正确步骤”是什么?我猜您被告知使用dbms\u作业或dbms\u调度程序包来调度要运行的过程。在预定的时间到底发生了什么?执行失败了吗?您正在运行哪些查询以查看作业是否已计划、是否

Stored procedures Oracle存储过程卡住了

我对oracle 11g上的存储过程有问题 我创建了这个过程,当我在SQLDeveloper上运行它时,它就卡住了。 执行永远不会结束,也不会打印任何内容 程序: 如果我为myquery注释行OPEN CURSOR_uuu;它打印一个-1-,-2-和查询SELECT*FROM表,其中char_字段=N,date_字段不为空,并在参数0中传递一个 如果我尝试运行查询SELECT*FROM表,其中char_field=N和date_field不单独为null,它将执行并给出结果 有人能告诉我我的程序

Stored procedures 在存储过程中使用DateTime作为参数,转换失败

我创建了一个存储过程,它将一个DATETIME作为其输入参数。当我试图以MM-DD-YYYY或YYYY-MM-DD的格式传递日期时,我得到了错误 从字符串转换日期和/或时间时,转换失败 我测试的日期是2010-01-01,如果我把它直接插入存储过程中的select语句中,就可以了。要使用DATETIME作为参数,我必须做什么 这是我的密码: CREATE PROC dbo.WSL_ProjectSearchByDate @param1 DATETIME --Search Date AS

Stored procedures 如何使用JDBC请求在JMeter中设置存储过程的参数

我计划使用存储过程可调用语句加载数据库。我在JMeter中创建的测试计划如下所示: - Test plan - Thread Group - JDBC Connection Configuration - JDBC Request - View results tree - Summary Report JDBC连接配置基于已经运行的测试。 问题在于我的JDBC请求: 变量名:数据库名是否与JDBC连接配置中的相同 查询类型:可调用语句 查询:{c

Stored procedures 在IBM DB2中创建存储过程时出现语法错误

我无法执行该过程,错误状态为: 在“ent.payment_id)*0.50”之后发现意外标记“对账单结束”。预期的令牌可能包括:“”。行号=6。SQLSTATE=42601 此过程用于在代码有效时更新总价。我尝试了两种方法。有人能帮忙吗 create procedure Prc_Discount(in code char(3), payment_id integer) begin if (code ='abc')then update payment set new.total_price

Stored procedures EfCore和calling";“服务存储过程”;

Ef Core中SP的调用是否始终绑定到实体的返回 我想调用只做“肮脏工作”的Sp(例如,一系列截断) 我是否应该在结尾返回一个“假”select*fromMyEntity仅用于调用 上下文。MyEntity。来自SQLRAW(sql) 谢谢您可以在数据库上下文中执行原始sql await _context.Database.ExecuteSqlRawAsync("EXEC dbo.YourStoredProcedure"); 阅读更多: 太好了!。谢谢,先生。

Stored procedures 存储过程中MySQL子查询中的整数

我做了一个简单的程序只是为了演示 CREATE PROCEDURE `demo`(demo_int int) BEGIN DECLARE minid INT; SELECT min(id) FROM (SELECT id FROM events LIMIT demo_int,9999999999999999) as hoo INTO minid; END$$ 问题在于demo_int,如果我将其更改为 LIMIT 1,9999999999999999 它有效,但是 LIMIT demo

Stored procedures 何时编写长存储过程

关于什么时候应该和不应该编写一个长而复杂的2000+行存储过程,有什么指导方针吗 在我的例子中,这个存储过程包含很多if/then、case、goto和分支语句。它根据查询的输入和结果构造SQL查询,并使用execute语句运行构造的查询。它可以在一个调用中执行多个构造的查询,并使用这些查询的结果构造其他要运行的查询 这是相当混乱和难以理解的。调试是很困难的,知道正在发生什么的唯一方法是通过一个调用查看它在做什么。几乎没有任何异常处理或日志记录。维持它是一种痛苦。事实上,没有人真正知道它是做什么

Stored procedures 如何在现有包中创建新的存储过程

我不熟悉使用PL/SQL,我正在尝试在现有包中创建一个新的存储过程。我意识到存在“创建或替换包体”,但这是否意味着一旦我添加了新的proc,整个包体都将被删除,或者它只是将其附加到上?(我的程序名与任何当前程序的名称都不相同)。不幸的是,要将新程序或函数添加到现有程序包中,必须修改原始程序包,然后作为“创建”或“替换”重新提交 当前没有任何方法可以在不修改和重新提交整个包代码的情况下添加到包或从包中删除 我首先用它的类型定义函数,然后编写一个或多个要包含在包中的函数的完整体。事情应该进展顺利

Stored procedures 从Firebird 2.1上的视图访问存储过程

我已完成此查询以供查看: SELECT BATCH, BS.FIELD1, BS.FIELD2 from BATCHES left join P_BATCH_SUMMARY(BATCH) BS on 1=1 它可以与Firebird 2.5配合使用,但不能与Firebird 2.1配合使用。使用FB2.1是否可以绕过此限制?鉴于在视图中引用可选择的存储过程是您仅有的选项: 升级至Firebird 2.5 将此视图替换为等效的可选存储过程 将此视图的用法替换为查询本身 您在2.1中遇到了什么

Stored procedures 如何在oracle 10G中将select查询的结果发送到邮件的邮件正文

获取不一致数据类型的错误 @在v_消息体中执行即时v_输出 在执行上述过程时,请帮助我……因此,实际上您真正的问题是:“如何将多行聚合为单个字符串?” 答案是使用。Oracle在11gR2中引入了listag-函数,很好地解决了这个问题,但在早期版本中,还需要做更多的工作 当你知道正确的关键词时,谷歌会找到大量优秀的资源,例如 我从上述资源中收集了以下示例。希望这能为您提供一个良好的起点: 将被查询的表: CREATE OR REPLACE PROCEDURE STATUS_MAIL(

Stored procedures 参数为dataset的SSRS存储过程不工作

在我的报告中,我使用了3个存储过程。它们都使用参数,其中两个工作正常,第三个不正常,我真的不理解 存储过程接受2个参数 SPgetData @reportnr,@username 另外两个SP也使用参数@username 如果我调用数据集查询文本,那么它就可以工作,但是我必须手动指定参数,如: SPgetData '001','Administrator' 如果我尝试将文本设置为 SPgetData @reportNr,@username it opens the

Stored procedures 存储过程远程调用不工作

我在server\u A中有存储过程sp\u 1。我正在从server\u B 代码是:exec Server_A.MyDb.dbo.SP_1在SP的主体中,我在最后一步将结果插入到表A。 运行sp需要10分钟,并返回“命令成功完成”,但表A为空(必须填写)。 我试着执行脚本的主体,使其正常工作。并按预期填充。 我不知道怎么了。。。? 我尝试从另一台服务器执行sp_1“server_c”server_d它工作正常。 问题在于server\u B我找到了anwser,问题在于远程查询超时设置为60

Stored procedures SQL Server Express:如何确定SP内存使用率

我正在使用Microsoft SQL Server 2008 R2 Express进行开发 我有一个使用临时表的存储过程,通常在1秒内输出一些经过处理的数据 几个月来,我的数据库收集了大量数据,几乎达到了10GB的限制。此时,对于相同的输入参数,这个特定的存储过程开始需要5分钟的时间。在我清空了数据库中的一些大表之后,它恢复了正常 在这次事件之后,我担心我的存储过程是否需要超过数据库中所需的空间。我怎么能确定?有线索吗 已经谢谢你了 Jyotsna遵循这个 另一种传统的方法是运行spwho2检查

Stored procedures DB2可以';t刷新存储过程中的物化查询表(MQT)

我在刷新存储过程内部的MQT时遇到问题 尝试刷新表时,我收到以下错误: 错误[42601][IBM][DB2/LINUX8664]SQL0104N在“语言SQL开始”之后发现意外的标记“刷新”。预期标记可能包括:“TRUNCATE” 不能在存储过程中以静态语句的形式执行刷新表,因为它只能作为动态语句运行 因此,正确的方法是使用executeimmediate语句: CREATE OR REPLACE PROCEDURE TEST_PROC LANGUAGE SQL BEGIN dec

Stored procedures 相当于;“改变顺序”;在存储过程中可用的

我需要在Ingres中生成一个存储过程,该过程能够获取一个ID列表,并生成一组与第一组ID无关的新ID(但存储每对ID的位置) 我最初的计划是按random()排序,并使用一个序列简单地从100000开始对每行进行编号,然后将这些结果保存到一个表中。这主要是有效的。但是,由于ALTER SEQUENCE不能在存储过程中使用,因此我无法确保新ID始终从100000开始 CREATE PROCEDURE create_external_dataset (datasetid varchar(12) N

Stored procedures 未遵守存储过程

我正在尝试在Oracle pl/sql中运行以下存储过程。我试图使用表1和表2从连接游标中获取数据,并更新表3中的输出,但是它在declare附近给了我compliation错误。查询工作正常 create or replace PACKAGE BODY PKG_LOAD_BY_ROWID AS PROCEDURE PRC_LOAD_BY_ROWID AS DECLARE N1 NUMBER; VAR_ROWID_OBJECT VARCHAR2(255); VAR_PRTY_FK VARCHAR

Stored procedures 称为使用链接服务器的存储过程的SQL Server代理作业不起作用

我有一个使用链接服务器的存储过程: 链接服务器是指向源数据库服务器创建的,可以使用登录的当前安全上下文进行安全保护 凭据是使用AD服务帐户创建的 代理是通过检查操作系统CmdExec创建的 存储过程在insert/select命令中使用了链接服务器bame。当我在SSMS中执行存储过程时,它运行良好。 但是,当我使用SQLCMD从SQLServer代理作业步骤运行存储过程时,它不起作用 下面是我的存储过程的示例: USE [MyDatabaseName] GO SET ANSI_NULLS O

Stored procedures iSeries存储过程-如何处理spool文件输出?

我们有一个使用CL和RPG程序组合编写的存储过程。在iSeries上本地调用时,一切正常。当外部调用(例如从SQL前端调用)时,RPG程序无法获得它生成的spool文件的黑线,因为spool文件显示在不同(随机?)作业编号和用户下。 作业在QUSRWRK子系统中作为QUSER运行,但spool文件获取在连接池外部进行连接的用户id(即USERA) 是否有一种方法能够可靠地在作业运行时获得正确sppol文件的句柄(而不是依赖于从该队列中拾取最后一个假脱机文件等)。我需要更多的信息,但我会做出一些假

Stored procedures 实体框架CTP5-从存储过程读取多个记录集

在EF4中,这是不容易做到的。您必须降级到经典的ADO.NET(DataReader),使用或使用EFExtensions项目 这在EF CTP5中是否已实施 如果没有,建议的方法是什么 我们是否必须将DbContext转换为IObjectContextAdapter并访问底层ObjectContext,才能使用此方法 有人能给我介绍一篇关于EF CTP5的好文章吗?因此,我成功地做到了这一点,以下是我所拥有的: internal SomeInternalPOCOWrapper FindXXX(

Stored procedures 存储过程/触发器/java类的存储位置?

我知道H2支持存储过程/触发器/使用java类扩展功能 但是,这些类放在哪里(.class文件/.jar文件) 如果我们必须把它放在文件系统中,那么在没有这些类的情况下移动数据库文件将使存储过程/触发器/等变得无用。这是真的吗 TIA。存储过程可以是:;然而,这需要一个Java编译器可用。触发器当前无法启动;因此触发器类必须位于服务器类路径中。存储过程可以是;然而,这需要一个Java编译器可用。触发器当前无法启动;因此触发器类必须位于服务器类路径中。在src/test/org/h2/sample

Stored procedures 如何在报表查询中使用Multi-Select with iReport和存储过程?

我正在使用iReport 5.0尝试为SQL Server 2008R2后端开发报表 使用户能够混合/匹配多选列表中的选择非常重要。 如果iReport中的查询是SQL或具有作为源的视图,则multi-select可以很好地工作。 在这种情况下,WHERE$X{In,,}可以很好地启用muti select: 但是,我希望在iReport查询中将所有输入传递给SQL Server存储过程。在本例中,单值输入都可以正常工作-但我一直无法弄清楚如何使用multi-select-$X{}似乎不起作

Stored procedures Crystal report-难以找到正确的公式

我正在处理此报告,我很难找到此场景的公式。我希望付款金额在学费中分配,并且首先用最小金额填充费用下面是我创建的当前报告 我有一个存储过程,可以获取上面的费用,下面的付款在crystal报告的详细信息部分 这里有一个明显的例子: 首次付款为500 最低费用是互联网费用,金额为376.20 500-376.20=123.80 因此剩余的123.80将转到另一笔费用752.40 752.40-123.80=628.60(其他费用的余额) 我想知道的是有没有一种可能的方法可以做到这一点 我使用什么公式

Stored procedures Unabe通过VB脚本运行DB2存储过程

在过去的三天里,我从VB脚本调用DB2存储过程,这让我头疼不已。我可以调用简单的SP,但不能调用具有更多输入/输出参数的SP 我使用以下代码为SP添加参数 oADO_CMD.CommandType = 4 oADO_CMD.CommandText = "schema.sp_name" oADO_CMD.Parameters.Refresh Const adVarChar = 200 Const adParamInput = 1 Const adParamOutput = 2 oADO_CMD

Stored procedures 从外部存储过程获取参数值-嵌套存储过程

我有这个存储过程。我想知道是否可以获取来自外部存储过程的参数值,并将其传递到内部存储过程。下面是我的存储过程 CREATE PROCEDURE [dbo].[OuterStoredProcedure] @OuterParameter_FirstName VARCHAR(50), @InnerParameter_Spouse_FirstName VARCHAR(50) 作为 开始 结束'+@InnerParameter\u配偶\u名字+'' 在为第二个存储过程调用SET命令时,所需的参数仍在范

Stored procedures 如何在过程中的单个查询中合并5个查询以减少执行时间

我希望你在我的项目中给予帮助。 我有一个名为employee_details的表。它有四列: user_id VARCHAR2(255)) user_name(VARCHAR2(255)) nickname(VARCHAR2(255)) created_on(date) 现在,我已经在过程中编写了5个单独的查询,为在sysdate-1、sysdate-30、sysdate-60、sysdate-90和sysdate期间注册/创建的用户获取数据,但我只想在单个查询中获取这些数据,这样可以减少程

Stored procedures 运行生成insert语句的DB2过程时的SQLCODE 433 SQLSTATE 42806

我正试图整合一个脚本,该脚本将在给定的模式中运行,并将所有表数据作为insert语句输出 我已经在几个表上测试了这个脚本,并且已经成功地完成了,所以我开始在完整的模式上运行它,并得到一个SQLCODE 433 SQLSTATE 42806错误。当变量不兼容时,SQLSTATE 42806错误看起来像是它的错误,但当我仅使用SQL中指定的表触发过程时,它失败的表看起来像是它成功完成的 该表由以下数据类型组成: BIGINT NOT NULL, INTEGER NOT NULL, SMALLINT,

Stored procedures 为什么可以';我是否从作业中正在执行的存储过程中执行msdb.dbo.send_dbmail?

我有一个作业计划在我的服务器上运行。该作业执行一个存储过程。在该存储过程中,我正在执行msdb.dbo.sp_send_dbmail。当我执行以管理员身份登录的存储过程时,它运行良好。但当作业运行时,它会失败,并出现以下错误: 以用户身份执行:AD\sql\u服务器。无法初始化sqlcmd库,错误号为-2147467259。[SQLSTATE 42000](错误22050)。该步骤失败。 我尝试过修改存储过程,并使用EXECUTE AS OWNER添加。执行此操作时,存储过程将失败,并出现以下错

Stored procedures 如何在MS Access 2013中像在MS SQL Server中一样创建存储过程?

到目前为止,我自己的研究表明有两种选择: :关闭,但仅限于执行中的单个SQL语句 :更类似于MS SQL Server中的“触发器” 除了上面列出的方法,还有其他方法吗?根据Phadapunk的回答: 使用函数模拟存储过程。我找到了一本教程。但我还没有尝试过这种方法 如果您使用的是MS Access 2010或更高版本,则存储过程将列在下的“表”选项卡中 希望这有帮助。被接受,因为它包含两种我没有考虑过的附加方法。第二个选项“将SQL Server存储过程导入Access”具有误导性。链接的文

Stored procedures 为MariaDB过程创建自定义类型

在PL/SQL世界中,我将创建一个带有type field_name是VARCHAR2的数字索引表的自定义类型并使用如下新类型v_source\u count source\u code\ar MariaDB状态的类型可以是任何MariaDB类型。但是,它没有提到任何关于自定义类型的内容。有没有一种方法可以实现与上面的PL/SQL相同的结果,这将适用于MariaDB?在MariaDB(或MySQL)中没有“自定义”数据类型。的确,您不能在MariaDB中创建自定义类型,但是如果您需要模拟该功能,

Stored procedures 如何在asp.net内核中使用具有样板架构的存储过程?

我正在使用asp.net核心应用程序和abp(asp.net样板文件)框架。我想使用存储过程来获取数据,并在这个代码优先的体系结构中实现CRUD操作。这样做的最佳方式是什么 提前谢谢 下面是一个向存储过程发送参数以删除用户的示例: public async Task DeleteUser(EntityDto input) { await Context.Database.ExecuteSqlCommandAsync( "EXEC DeleteUserById @id",

Stored procedures 在触发器事件期间计算日期时间寄存器

我正在测试datetime特殊寄存器(声明)的以下行为 如果使用datetime特殊寄存器的SQL语句为 在 在触发器的作用域中,Db2使用触发SQL的时间戳 语句来确定特殊寄存器值 因此,我用一个timestamp字段包装了一个表,这是一个存储过程(原生sql),它将相同的10行插入表中,tamestamp列的值为“current timestamp”。然后我在另一个表上创建了一个触发器(在insert触发器之后) 结果是10行时间戳增加。我希望时间戳与在我的解释中存储过程在触发器范围内的时间

Stored procedures DB2z/os本机SQL过程——已更新

我正在实现一个DB2本机SQL过程。这是我们在这家商店里第一次尝试。我在下面附上了代码。此例程所做的是跟踪按时间添加到表中的新记录数。每当触发时,它要么更新监视表中的记录,要么在该表不存在时插入记录 本机过程对于Z/OSDB2Version9是新的 关于Z/os db2 v9过程的红皮书如下: “图15-15描述了调用本机SQL过程时所涉及的DB2组件 来自远程应用程序、DB2附加程序或联合地址空间 如图所示,SQL语句不再在外部WLM中执行 地址空间,但本机位于数据库系统服务地址空间中。对于执

Stored procedures 如何捕获发送到特定存储过程的参数?

在SQLServer2008R2中,我们是否有一个可以找到传递给特定存储过程的参数的查询 Sql server不保留查询执行的历史记录。因此,无论如何都不需要知道传递给特定存储过程的参数。如果需要,可以在过程本身中编写脚本,并将所有值保留在某些表中。或者,您可以将查询配置文件数据保存在跟踪文件或某个表等中。我找到了它。查询将被删除 select PARAMETER_NAME,DATA_TYPE from information_schema.parameters where specific_n

Stored procedures 使用存储过程在netezza中插入值

我正在使用netezza数据库,需要为加利福尼亚州的商店插入Y标志。我写了下面的程序 CREATE OR REPLACE PROCEDURE MY_NEW_PROCEDURE() RETURNS BOOL EXECUTE AS OWNER LANGUAGE NZPLSQL AS BEGIN_PROC DECLARE rec RECORD; BEGIN FOR rec in SELECT * from test_table LOOP if rec.state_code ='CA' EXE

Stored procedures SQL Server事务阻塞之谜

我有一个用于表单处理的.Net应用程序,它可以跨三个不同的SQL Server 2012数据库删除/更新/插入数据。当应用程序运行时,它会打开一个数据上下文,然后在该上下文中为每个需要处理的表单打开一个事务。该事务每分钟运行一次,因此通常一次只运行一个表单。在这个事务中会发生很多事情,包括多个存储过程调用 问题是: 我们已经用我被告知的完全相同的规格设置了服务器,尽管我对此表示怀疑:。一个用于开发工作;另一个用于客户端测试。在我们的开发环境中,处理运行没有问题;但是在客户端测试站点上,它每次都挂

  1    2   3   4   5   6  ... 下一页 最后一页 共 28 页