Stored procedures 将多值参数传递给存储过程

向crystal report存储过程传递多个参数时遇到问题。我有一个存储过程,只要StockNumber参数是单值,它就可以正常工作。 当我尝试将其更改为多值时,发生了两件事:它是否显示消息:此存储过程不能接受多个值。或者,若尝试直接启用过程中的参数以接受多个值,则只需关闭应用程序而不会出现任何错误。 据我所知,这是存储过程的限制,而不是crystal reports。 无论如何,我需要解决这个问题。我只是不知道如何在crystal reports环境中操作参数。请讨论一下。谢谢 SEL

Stored procedures 绑定变量和存储过程

我的理解是,参数化查询和存储过程都有助于防止sql注入 参数化查询是否导致无法注入sql 使用非常糟糕的存储过程的参数化查询是否会导致无法注入sql 是否有上述任何一种情况的例子?谢谢是的,参数化查询和存储过程确实有助于防止SQL注入 但说他们让这一切变得不可能有点牵强。在编写查询时,使用参数和考虑因素肯定会阻碍注入 但是\u非常糟糕查询或存储过程仍然可能被注入 例如,在存储过程或查询中使用动态SQL查询: CREATE STORED PROCEDURE [BadStoredProcedure]

Stored procedures 实体框架和存储过程,输出参数返回行(EF将接收复杂类型)

我正在使用实体框架6和存储过程。目前我正在处理这个问题: 理想情况下,我需要从一个存储过程中获取数据。这些数据包括: 一个对话(基本信息)+多个客户端(参与此对话)+来自对话的消息 我认为输出参数是正确的方法,但我被卡住了 那么,我该怎么做呢?这是从存储过程中获取不同数据行的正确方法吗?我试图避免发送与客户每行对话的重复数据的解决方案。我找到了具有多个结果集和的替代解决方案,但这不是我问题的答案。您可以尝试 static void Main(string[] args) { using (S

Stored procedures sas存储进程中的宏变量

我有SAS的代码 proc sql; create test as select * from test2 where user_name = &username;quit; 当我使用%let username=Bob在SAS中运行时,它运行正常。 但我需要使用存储进程运行它(变量username是connected user中的内部参数,我从sas存储进程代码中删除%let username=Bob)。 存储的进程制动器出现错误 在日志文件中,我看到变量: \u username=B

Stored procedures 将算术公式从字符串转换为数值

我有一个表格,其中所有条目都是算术公式(即“0.51+2.50+3.50”) 在此表中,所有列均为varchar类型。该表有许多类似这样的列 我想在一个函数中计算公式并将其用于其他计算,但我的问题是“EXEC”不能用于边函数,也不能在存储过程中使用函数 那么,关于如何实现这一点有什么建议吗?免责声明:我是项目的所有者 为了按照建议创建自己的SQL CLR,您可以使用现有的CLR,它允许您在T-SQL中esily编写C#语法 -- SELECT 6.51 SELECT SQLNET::New('0

Stored procedures 在INSERT或UPDATE记录存储过程中仅使用可更新表字段的子集?

考虑简单的命令: INSERT INTO TABLE table_name (fldX) VALUES (valueX) UPDATE table_name SET fldX = valueX WHERE table_id = ? AND version_id = ? 通常,我们只插入或更新一些表字段,但插入/更新时的所有CRUD存储过程示例都包含所有可更新的表字段,要使用此SP,我们需要填充所有这些参数 此类SP出现问题时: -用户最初只想设置字段的子集(1+),因此不能使用插入所有字段的S

Stored procedures 如何识别PLSQL存储过程SQL文件中的所有表和列?

我有一个非常大的(~7800行).SQL文件,其中包含用PL/SQL编写的存储过程 我无法连接到数据库,因此只能使用文本编辑器在本地解析它 如何识别和提取其中的所有表、列和依赖项 我有python和cx_Oracle。我一直在阅读cx_Oracle的文档,但不知道从哪里开始,也不知道这是否有帮助 任何帮助都将不胜感激 谢谢。我认为您不能用cx\U Oracle完成这项任务,因为它是一个数据库访问模块……这是一项一次性任务还是您需要定期执行的任务?你想如何处理这些信息?

Stored procedures 如何在亚音速3.0.3中使用存储过程?

我在亚音速3.0.3有个问题。当我使用亚音速生成代码时,我可以使用数据库中的所有表,但我看不到数据库中定义的任何存储过程 请帮忙 注意:我正在使用MSSQL请确保您包括StoredProcedures.tt文件。运行t4应该为您生成使用存储过程的代码。您使用的是活动记录、简单存储库还是Linq模板?

Stored procedures 存储过程/PLSQL的版本控制?

是否有一种有效的方法来版本存储用PL/SQL编写的过程?(我之所以提到PL/SQL,是因为可能存在特定的工具,任何针对存储过程版本控制的答案都是理想的)。您能使用“常规”版本控制系统吗?所有已部署/可部署的存储过程都像应用程序代码一样受到控制 我已经有一段时间没有处理PL/SQL了,所以我没有任何关于包定义的内容 当然,这不在数据库中,但是…在我当前的工作中,团队现在使用以下方法来控制PL/SQL的版本。编译PL/SQL时,无论编译成功与否,都会将一条记录插入到日志表中。除了在午夜,还有一个JA

Stored procedures 请帮助我将SP转换为动态sql查询,或转换为使用COALESCE且运行正常的SP

我有一个当前格式的SP不能正常工作,它不会返回所有的行,当我包含一些值时,也不会返回任何值。 以下是SP: SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO ALTER PROCEDURE [dbo].[AdvancedSearch] ( @StartTime datetime = null, @EndTime datetime = null, @CustomerEmail nvarchar(255) = null, @Username nvarc

Stored procedures 使用存储过程在sql server中将缺少的行从一个表复制到另一个表

我必须在相同服务器上的不同数据库中创建相同的表。我需要将数据行从左侧数据库表传输到右侧数据库表,但我只想传输不在右侧数据库表中的行 有没有一种简洁的方法可以做到这一点 Im使用SQL Server 2008 R2假设您可以使用列id唯一标识行: insert into databasename..tablename select * from datababasename2..tablename2 where id not in (select id from databasename..tab

Stored procedures 如何在DB2上从COBOL存储过程调用COBOL批处理程序

快速免责声明:我是一名.Net开发人员,可能没有提供您所需的有关环境的所有信息,但可以根据要求获得这些信息。我们有COBOL程序员,但他们从来没有这样做过 我们正在将带有DB2数据库的大型机应用程序转换为带有SQL数据库的.Net MVC应用程序。我们希望从DB2上的COBOL存储过程调用一个大型机COBOL批处理程序。我读过这篇文章,但是我还没有找到一个好的例子来说明如何创建一个调用COBOL程序的COBOL存储过程。COBOL批处理程序接受大约5个输入参数,但不返回任何内容 我们已经有了一个

Stored procedures HSQLDB:在存储过程中提交

在HSQLDB中,我试图创建一个存储过程,在更新数据库后执行提交 比如: 创建过程MY_PROC(在p_id整数中) 修改SQL数据 开始原子化 ... 使现代化 ... 犯罪 结束 通过调用JDBC Statement.execute()方法创建此过程,我得到一个错误: SQLSyntaxErrorException:意外标记:需要提交:结束 如果没有COMMIT语句,则正确编译过程 知道我做错了什么吗?您不能在过程中提交事务 您可以在调用过程后提交。这正是我所担心的。无论如何谢谢你

Stored procedures Update语句不在存储过程中运行,但可以单独运行

我有下面提到的更新语句,用于更新表中的空或空列: UPDATE ASPECT.DEALER_MASTER SET RO_DLR_GRP='IND' WHERE RO_DLR_GRP IS NULL OR TRIM(RO_DLR_GRP)=''; 及 当我单独运行这些语句时,它们工作得很好,但当我在astored过程中使用这些语句时,它们从未更新过表 为什么会这样?我的建议是先选择数据 从ASPECT.DEALER\u MASTER中选择*,其中RO\u DLR\u GRP为空或微调(R

Stored procedures sql server 2008 r2 pivot

能否举例说明: 基本:具有预定义的数据和列 更高级:具有预定义的动态数据和列 专家用法:具有动态数据和动态列 多谢各位 基本示例: 使用AdventureWorks2008R2; 去 选择DayToManufacture,AVGStandardCost作为AverageCost 从生产。产品 按造瘘天数分组 更高级的示例 -一行五列透视表 选择“AverageCost”作为按生产天数排序的成本, [0], [1], [2], [3], [4] 从…起 选择DayToManufacture、Sta

Stored procedures SQL Server存储过程插入长字符串时出错:字符串后有未闭合的引号

我正在尝试使用存储过程将JSON格式的长字符串(即#jsonLayoutProperties#)插入MS SQL Server表中。字符串可以很长,例如10000个字符+。我应该在存储过程中使用哪个cfsqltypecf_sql\u longvarchar似乎是唯一的选项,似乎没有映射到nvarchar(max)的cfsqltype 我得到的错误如下。字符串似乎正在被截断。欢迎任何帮助 错误: <cfstoredproc datasource="docs" procedure="Updat

Stored procedures SUM、IIF、ISNULL在创建存储过程时在SQL中不能一起工作

在访问查询中,我有以下行 Sum(总计+IIf(IsNull(金额,0),0,金额)+IIf(IsNull(付款,0),0,付款))作为检查 我想把它转换成一个SQL查询 Select Sum(Total+IIf(IsNull(Amt,0),0,Amt)+IIf(IsNull(Pmt,0),0,Pmt)) AS Check from table1 当我执行完整的查询时,我得到以下错误 错误:在“(”附近预期条件的上下文中指定的非布尔类型表达式 由于这一行,我无法创建存储

Stored procedures 使用insert&;选择操作?

我想知道调用CallableStatement时要调用哪一条语句,以便使用insert和select操作调用存储过程,execute()/excecuteUpdate()/executeQuery(), 我有点困惑该用哪一个?在我必须完成这两个操作之后,我是否必须通过创建一个存储过程来分隔这两个操作?谢谢。选择使用ExecuteQuery() 对于其余crud元素,请使用ExecuteOnQuery()请使用相关语言/框架/数据库系统标记您的问题。

Stored procedures 使用编译错误创建的过程

下面是我创建的过程。当我执行它时,我得到了“用编译错误创建的过程”,我不明白我在下面的过程代码中哪里出错了,有人帮我找到代码中的错误 create or replace PROCEDURE newprocedur(inMerid IN VARCHAR2,outCount OUT NUMBER) AS CURSOR c1 IS select CLIENT_COUNT from OP_TMER_CONF_PARENT where MER_ID = inMeri

Stored procedures 更新存储过程实体框架抛出“;验证FunctionImport名称是否唯一";错误

我正在使用EF v4.3,在更新存储过程时遇到问题 我在模型浏览器中选择了要更新的存储过程(它有一个函数导入和一个要更新的复杂类型) 我右键单击并选择了添加函数导入。通常的窗口打开了 我的第一个问题是,由于“returna Collection Of”单选按钮被设置为None而不是complex,因此EF不会自动识别已经定义了复杂类型的事实 无论如何,我选择了正确的复杂类型并按下了“更新”按钮。存储过程框中填充了正确的复杂类型,需要更改的行在操作列中标记为“更新” 我按下OK,一个消息框显示错误

Stored procedures toad plsql执行存储过程时出错

没有明显的原因,我得到了这个错误: ORA-00942:表或视图不存在 在调试光标设置为第行时: SELECT AMD.MSG_DATE 从以下存储过程: CREATE OR REPLACE PROCEDURE CTI_MATRIX.AMD_NEEDMSG (v_CRN IN VARCHAR2) IS return_flag INTEGER; row_cnt INTEGER; number_of_days INTEGER; var_DATE DATE; CURSOR ACCNTSEARC

Stored procedures SQL Server 2012存储过程超时。如何修复它?

上下文:SQL Server 2012、Windows Server 2008 R2(64位)、2核、大量RAM和HD空间, ADODB通过JScript(而不是.NET) 这些非常简单的存储过程会一直超时。我也不是有很多记录(从服务器的角度来看):100000左右 CREATE PROCEDURE [dbo].[Transfer_Part1] AS SET NOCOUNT ON INSERT INTO Primary.dbo.Post SELECT * FROM

Stored procedures 可以访问SP

如果我创建一个名为test的存储过程,它包含来自许多不同表的许多不同列 我想让20个用户通过excel通过存储过程访问数据 我的问题是: 是否可以让用户仅访问存储过程test?用户不得访问表或视图。仅存储程序测试。我使用的是SQL server 2008 R2标准对单个存储过程的访问权限,对表没有任何权限 Grant EXECUTE On [SpName] To [Principal] 不存在存储过程表的读取权限这样的概念。存储过程权限与其他对象是分开的。如果用户具有运行存储过程的权限,则无论

Stored procedures 如何在DB2中获取XML明文

我目前正在处理一个DB2本机存储过程,处理日志错误。我正在记录在另一个表上引发的所有错误,我正在记录的事情之一是存储过程接收到的参数 在一个特定的存储过程中,其中一个参数是数据类型XML(在p_FILTERS XML中)。。我想在错误记录表中记录的只是XML文档的纯文本 例如,如果我传入如下所示的XML <xml><Hello value='what is up'></Hello></xml> 不能让它精确地工作吗?考虑 XMLSerialZe

Stored procedures Teradata:存储过程:参数列名

我正在寻找有关teradata中存储过程的帮助。我想更新整个表,为此我尝试使用for循环游标。问题在于,我的更新是通过向SP传递参数的列名定义的 我已经看到可以使用动态sql来实现这一点,但是我还没有找到关于for循环游标和动态sql的任何信息。是否可以使用FOR循环游标? 我曾尝试使用动态sql只执行select和CALCULATE,它工作得很好,但问题是从select上的光标更新表。在这种情况下,如何从我的游标更新表 我让你展示我的代码 循环光标: REPLACE PROCEDURE [da

Stored procedures ORA-06502:PL/SQL:数字或值错误

对此我真的很抱歉。我是新的oracle,我创建了下面的块,这是结果输出,然后是错误。 第一个游标生成输出,然后是错误,所以第二个游标不生成输出 请提供无错误输出的帮助 谢谢和问候 错误: END; Error report: ORA-06502: PL/SQL: numeric or value error ORA-06512: at line 36 06502. 00000 - "PL/SQL: numeric or value error%s" *Cause: *Action:

Stored procedures 在ASP中使用存储过程更改光标类型

我想使用ASP调用一个返回recordcount的存储过程 我知道我必须将游标类型更改为adOpenKeyset或adOpenStatic才能返回recordcount 我不明白的是如何修改vbscript,使其在调用过程时更改光标类型 现在我说 cm.commandtype=adCmdStoredProc ..... rs=cm.execute 我怀疑我需要向cm.execute添加一个参数,但我不知道要添加什么以及如何添加它 谢谢 DMD使用记录集上的Open方法。语法不是100%确定,但类

Stored procedures MySQL,存储函数,使用字符串变量作为查询

我想知道,在mysql存储函数或存储过程中,是否可以将mysql查询作为字符串变量组成,以便稍后执行?我有一个存储函数get_district_part((district_id INT,country_id INT,city_id INT,zip_id INT))返回INT,该函数引用以下表格: CREATE TABLE IF NOT EXISTS `modx`.covereage_district_part( id INT NOT NULL AUTO_INCR

Stored procedures 在LINQ中使用存储过程?

在web应用程序中,我使用LINQ调用一个过程,该过程是参数过程。但当我传递参数时,它会给出错误,这是我的代码: MyLinqsDataContext DataContext=new MyLinqsDataContext (); int eno=Convert.ToInt32 (txtempno.Text ); int dep=Convert .ToInt32 (txtDep.Text ); var sqr = from qr in DataCo

Stored procedures 在informix触发器中传递连接的字符串参数

我有一个触发器,它将一些参数传递给一个过程并调用它 CREATE TRIGGER trig_ins INSERT ON mytable REFERENCING NEW AS new FOR EACH ROW(EXECUTE PROCEDURE sp_ins("mytable", new.id, 'I')); 是否有任何方法可以将连接字符作为第二个参数传递给上述过程调用 我需要这个,因为我可能需要允许这些参数: "id = " . new.id "field1 =" . new.field1 .

Stored procedures Amazon红移:如何编写与SQL Server中存储过程类似的查询批处理

我们正在尝试将基于SQL Server的应用程序移植到Amazon Redshift。红移在性能和可扩展性方面看起来很有希望。我们在寻找存储过程的替代品以批量执行查询时遇到了一些问题 感谢更新:Amazon Redshift从1.0.7287版(2019年4月底)开始支持存储过程。有关开始使用存储过程的更多信息,请查看文档 遗憾的是,没有一个整洁的替代品 在我看来,你有几个选择: Shell/CMD脚本,用于调用作为调度作业运行的psql ETL工具(SSIS)。请记住,它主要运行shell/

Stored procedures ODP.net托管驱动程序抛出ORA-12570:网络会话:意外的数据包读取错误

在我们的一款产品中,我们使用ODP.net托管驱动程序,使用存储过程从Oracle数据库检索数据 偶尔(大约每1000次查询)我们会遇到以下例外情况: (ORA-12570: Network Session: Unexpected packet read error) ---> Oracle.ManagedDataAccess.Client.OracleException: ORA-12570: Network Session: Unexpected packet read error -

Stored procedures 将数组作为参数传递给plsql过程

我需要和sql开发人员一起玩,我在这里遇到了一堵墙。。。 我需要在一个表上运行一个简单的更新查询,我想传入一个ID数组并更新这些ID所指向的所有行 我已经编写了以下存储过程 PROCEDURE SAMPLE_PROCEDURE(SAMPLE_ARRAY IN NUM_ARRAY) AS BEGIN UPDATE RETURNLIST_PICKLIST_MAPPING SET PICKLIST_ID = 1111111 WHERE RETURNLIST_ID IN (SELECT * FROM

Stored procedures 和(dbo.getdecommissiondate(a.uid)>@StartDate) 按a.uid分组 设置@months-=3 结束' EXEC(@Query) 您在哪里声明您的@帐户和@查询变量?看起来其中一个可能是intNo,两个都是varcha

和(dbo.getdecommissiondate(a.uid)>@StartDate) 按a.uid分组 设置@months-=3 结束' EXEC(@Query) 您在哪里声明您的@帐户和@查询变量?看起来其中一个可能是intNo,两个都是varchars。我已经编辑了代码。谢谢您在哪里声明您的@帐户和@查询变量?看起来其中一个可能是intNo,两个都是varchars。我已经编辑了代码。谢谢你,我不得不稍微修改一下你的代码(一次声明两次),还有两个拼写错误,但它给了我我需要的解决方案。非常

Stored procedures SAP HANA:如何将存储过程的结果插入本地临时表

我试图将读/写存储过程的结果存储在本地临时表中。创建临时表后,我正在编写- INSERT INTO #TMP call SPName; 将结果存储在临时表中,但显示不支持功能。是否仍要将存储过程的结果存储在临时表中。我不想更改已生成SP的定义,但想将结果存储在临时表中,以便与另一组语句连接以获得最终结果。是否尝试将输出表类型用作存储过程参数之一?然后在存储过程中使用out参数返回结果 这是文档中许多示例中使用的典型方法 DROP TYPE TT_MYTYPE; CREATE TYPE TT

Stored procedures DBMS是否在DBMS服务器上以存储过程的形式保存来自准备语句的编译查询?

DBMS是否在DBMS服务器上以存储过程的形式保存来自JDBC中准备语句的编译查询?我认为prepared语句不是DBMS中的概念,而是JDBC中的概念,所以我想知道它是如何在DBMS服务器端实现的 我的问题来自 我读了,但没有找到我的答案 谢谢 我依次对PostgreSQL、MySQL或SQL server感兴趣。不,在任何RDBMS中,准备好的语句都不是作为存储过程实现的 准备好的语句被解析并保存在服务器端,因此可以使用不同的参数值多次执行它们,但它们不会以存储过程的形式保存。它们以某种依赖

Stored procedures 无法在DB2中创建存储过程

我正在尝试使用IBMDB2Cloud在DB2中创建一个存储过程。我得到的错误如下: 在“”之后发现意外标记“语句结束” 有关错误的详细信息见下面的屏幕截图 首先: sql语言背后的“;”是错误的 两个“;”后面的插入行没有意义,与截图不匹配 除此之外:While“;”是存储过程中的语句终止符,请确保为(外部)create procedure语句选择(配置)另一个终止符。通常,运行SQL的工具会提供一个选项来更改它。如果使用复合语句,则必须更改默认语句终止符(;)。 在DSM控制台中,您可以

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