我已经在我们的开发模式中创建了SQL存储过程,并且运行良好。现在我们的任务是将开发代码转移到生产代码。如何将这些存储过程从一个模式复制到另一个模式?我是否需要在目标模式上重新编译整个过程?或者有没有办法在目标模式上注册这些过程?有谁能给我一个更好的复制存储过程的方法吗
我已经通过iSeries Navigator for Windows Version 5 Release 4创建了过程
提前感谢,,
Suresh请阅读链接,这可能会有所帮助。
请阅读链接,这可能会有所帮助。
创建存储过程的SQL
我们能否在存储过程中返回多个结果集,以及如何在.net中处理它
???
如果是,如何??
如果没有,为什么不??
请解释一下,有一些很好的例子
您需要更改连接字符串以支持它MultipleActiveResultSets=True
用于配置设置 有一些很好的例子
您需要更改连接字符串以支持它MultipleActiveResultSets=True
用于配置设置 如果使用DataReader检索数据,则可以使用NextResult方法迭代存储过程返回的多个结果集。可以找到更多信息
以下代码是MS
PL/SQL过程可以接受可变数量的参数吗
在我的例子中,这个过程是由表单的submit按钮调用的,表单的输入数量是可变的。排序。您可以为过程参数提供默认值:
CREATE PROCEDURE myproc( p_value_a NUMBER DEFAULT 1,
p_value_b NUMBER DEFAULT 2 ) AS
...
你可以这样称呼它:
myproc( 999 );
myproc (p_value_b => 1
我只能使用SPs从数据库加载实体。我可以使用导入功能成功加载客户:
Customer cust = context.GetCustomerById(customerId);
然后我需要使用另一个SP加载客户订单集合:
IEnumerable<Order> cust_orders = context.GetOrdersByCustomerId(customerId);
有没有办法在不触发Select的情况下加载Orders属性?您必须禁用LazyLoading,并通过适当的SP调用
在Informix中创建存储过程时,即使相关表不存在,也不会抛出错误
我想报告级别相当高,那么我该如何更改它呢?这就是Informix设计的工作方式
如果在运行该过程时,表仍然不存在,那么您将或多或少地得到一个适当的运行时错误。但是,仅仅是在创建过程时不存在一个表这一事实并不被故意视为一个错误;该表可以在使用该过程时创建
据我所知,没有任何设置可以改变这种行为。这就是Informix设计的工作方式
如果在运行该过程时,表仍然不存在,那么您将或多或少地得到一个适当的运行时错误。但是,仅仅是在创建过
我正在编写一个存储过程,从表add\u files\u tables中检索匹配的文件位置。我使用带有ref游标的case语句来获取resultset,然后将打印文件名。我已经创建了包,但它总是给我空集。问题在哪里
create or replace package search_cur as
type my_cursor is ref cursor;
function search_File(FILE_NAME varchar2,opt number) return my_cur
我在Informix中创建了一个简单的sp
create procedure test(arg1 int) returning int;
if arg1 > 1 then return 10;
else return 0;
end if;
end procedure;
当直接调用Informix时,它可以正常工作,但当我使用ODBC从VB.NET调用它时,它总是返回1
这是我的vb代码
Dim cmd As OdbcCommand = New OdbcCommand("{call te
我的包中有两个游标。第一个光标没有输入参数,因此我成功地按如下方式打开了它:
OPEN c1 for
SELECT foracid,
acct_name,
addr_1,
addr_2,
sol_desc,
city_code,
gam.FUTURE_UN_CLR_BAL_AMT
FROM tbaadm.gam,
tbaadm.sol
我正在尝试为firebird 2.1创建一个存储过程(这是要使用的版本)
但是我有点卡住了,所以非常感谢你的帮助。
最终版本应与表中的4个值进行比较,如果该值存在,则检索primaryid,或者在表中创建新条目,然后返回新primaryid
但我只能进行一次值查找,而且它甚至还没有使用变量
SET TERM ^ ;
CREATE PROCEDURE TESTSP
( A Varchar(64) )
RETURNS
( RESULT Integer )
AS
BEGIN
IF (E
我在sql server 2008 r2中创建了一个test1数据库,然后创建了另一个Test2数据库
tables
product_info table
Product_id
product_name
unitprice
unitsonorder
user_info table
user_id
user_name
user_pwd
email
city
product_id
在测试2db中,我创建了星型模式erd
现在,我想从test1db中选择数据,然后在test2db中执行。。像et
我有一个存储过程,它是用来更新一个表的,当我执行它时,它会为一些列显示空值或零值
IF OBJECT_ID('tempdb..#exxPresessions_john') IS NOT NULL
DROP TABLE #exxPresessions_john
SELECT c.claim_id,
c.completed_date,
wp.createdon,
COUNT(DISTINCT wp.WebSessionId) AS websessi
我需要在HANA存储过程中添加日期,但收到错误消息
分析日期/时间时出错
我使用此语句,其中p_end_date是存储过程的参数
v_end_date_plus := add_days (TO_DATE(' || p_end_date || ' , 'YYYY-MM-DD' ), 90)
有没有其他方法或者我做错了什么?p\u end\u date应该是一个varchar字段,或者是您的技术中使用的适当的字符串文字。它不应该用引号括起来
v_end_date_plus := add_days
我在HANA数据库中有一个存储过程,需要在其中连接来自不同模式的两个表。这些模式在开发、登台和生产系统中的命名不同
在这种情况下,显而易见的解决办法是使用。但不幸的是,模式映射似乎只适用于存储过程的默认模式。尝试在存储过程中引用创作架构时,例如,在上的JOIN authoring_schema.SOME_表。。。您收到错误消息“架构名称无效”。因此,似乎我只能对其中一个表使用模式映射,而不能同时对这两个表使用模式映射
我知道我可以通过查询表_SYS_BI.M_schema_MAPPING来读取存
有没有办法按计划运行存储过程?我有一系列的更新/插入和卸载,我希望以编程方式运行。我还没有将这些查询作为存储过程编写,因为我想先看看它是否可以以编程方式运行/调用,或者glue是否需要这样做?我在哪里可以找到解决方法
我知道红移中的存储过程是非常新的。我目前正在Pycharm Professional中执行代码,并且能够创建和运行一个简单的存储过程
我的更新和插入(在将它们作为存储过程写入之前)与中指定的格式非常相似
任何帮助都将不胜感激?是否有可以共享的引用?您需要在外部运行一些触发存储过程的
我想用Teradata来理解。基本上,它将光标与选择或其他数据返回语句(注释,帮助,解释,显示)相关联。我正在尝试运行文档中提到的类似示例。select上的游标工作正常,但我在其他数据返回命令上遇到以下编译错误:
创建过程myDataSet.proc_1()
开始
声明sql_stmt1 varchar(100);
将ex2游标声明为
stmt1
打开ex2;
关闭ex2;
结束;
其中stm1可以是以下任一项:
对myDataSet.department.dept\u desc列的注释或
帮
我将此代码用于存储过程。我在@vbin\u文档中收到错误
Set objConnection = CreateObject("ADODB.Connection")
objConnection.Open ConnectionString_
Set cmd = CreateObject("ADODB.Command")
cmd.ActiveConnection = objConnection
cmd.CommandType = adCmdStoredPro
我有一个表成员\u详细信息,带有字段首选\u位置varchar,该varchar具有逗号分隔的值,如来自列表框选择的19、20、22
现在我还有另一个表city\u master,有字段city\u id int和city\u name varchar
现在我想分离首选位置varchar值,并将它们添加到临时表的整数字段中,这样我就可以在临时表的city_id和city_master的city_id之间进行内部连接,然后从city_master的city_name中获取city name
这就是
我有一个.NET应用程序,可以从Oracle 9i存储过程检索SYS_REFCURSOR输出。我希望将该游标传递到另一个存储过程中,以获得另一个存储过程作为回报
松动的psudocode:
CREATE OR REPLACE PROCEDURE get_Addresses(
userList IN SYS_REFCURSOR,
addressList OUT SYS_REFCURSOR)
IS
OPEN addressList FOR (
SELEC
我的报告中有两张表格。两者都使用两个独立的数据集,从同一存储过程获取数据。现在,我希望数据集根据不同的参数值获得不同的数据。有没有办法做到这一点?我正在使用SQL Server 2008-R2。提前感谢…在报告数据屏幕(Ctrl+Alt+D)中,您可以将两个数据集绑定到不同的参数
添加您的参数
打开数据集属性
转到参数部分
添加所需参数,并为其指定与存储的过程参数相同的名称,例如@EmployeeId
如果查询被标记为类型“存储过程”(在查询部分),则在选择时将传递参数。对另一个数据集重复此过程
如何比较informix存储过程中的当前时间
让我们看一个p_时间参数,我想将其与当前时间进行比较
比如p_时间
我在Oracle 11g中编辑过程时收到了这条消息
事实上,我是唯一一个在编辑程序的人。有时当我编码时,它会提示,我不小心按下空格键,它会加载最后保存的代码。这种情况发生过几次。我生气了
为什么即使我是唯一编辑此过程的人,此消息也会提示您?这与我的SQL开发人员的设置有关吗?我使用的版本是4.0.3 这似乎是由于客户端和数据库服务器关闭时间造成的
“我们正在检查数据库中的时间,查看上次修改它的时间,并将其与您的本地时间进行比较。您能确认您的数据库和本地时间是正确的吗?”
Jeff Smith(
在存储过程中,我们需要在哪里使用输出参数
有没有人有实时经验可以分享
我搜索了很多,但无法理解输出参数的正确用法。这是从存储过程中传递一个值。行集引用或标量值。可以将其视为将存储过程转换为函数调用。在许多情况下,您希望以输出参数的形式从存储过程中获取一些数据:
将数据插入表时,需要返回标识值
在执行select语句时,您需要一些额外的数据
当更新或插入数据时,您需要知道操作是否成功
对于大多数(如果不是全部的话)您需要在c中使用out或ref参数的原因
可能有更多的情况下输出是有用的,但我认为这
我尝试解决这个问题已有一段时间了,但仍然不知道如何应用while值,如:
while ....(having values in (X1, X2, X3, ........)
(
execute 'package....'
Param = X
)
每次传递X、X1、X2等值中的一个。您可以将所有参数传递到临时表,然后使用循环它们,而:
CREATE TABLE #tab(id INT IDENTITY(1,1), param_value NVARC
我使用SQL Server 2012。我有一个名为“Table1”的示例表,它有七列
CREATE TABLE TABLE1
(
Field1 INT ,
Field2 INT ,
Field3 INT ,
Field4 INT ,
Field5 INT ,
我在Asp.NetCore应用程序中使用NReco.Data来进行db调用,因为我不想使用EF,而且DataTable还不受支持
现在我需要调用StoredProcess并获取多个记录集或字典列表
当时我称之为:
dbAdapter.选择$STOREDNAME@{nameofSQLPARAMETER},SQLPARAMETER.ToRecordSet
但是存储给我的记录集不止一个,有人能帮我获取其他记录集吗?目前NReco.Data.DbDataAdapter没有API来处理单个IDB命令返回的
我尝试从存储过程返回一些值,而不在Netezza中使用reftable
创建或替换过程TMP\u GETTABLEINFO(CHAR(any)、VARCHAR(any)、VARCHAR(any))
返回char(1),varchar(30)
以所有者身份执行
语言NZPLSQL
作为
开始程序
声明
1美元的别名;
b别名为2美元;
开始
...
返回a、b;
结束
可能吗?
怎么做
我的结果是:ERROR[HY000]ERROR:必须指定语言我认为这是不可能的。我还没有看到过返回多个值的情况
我有一个存储过程:
CREATE OR REPLACE PROCEDURE SP_ObtenerSecuencialFactura(INOUT p_secuencial INT)
LANGUAGE PLPGSQL
AS
$$
BEGIN
SELECT MAX("CODIGOFACTURA") + 1 INTO p_secuencial FROM "FACTURA";
IF p_secuencial IS NULL THEN
我正在使用.NET Core 2.0控制台应用程序和Oracle SQL Developer 19。我创建了一个存储过程,每次提取数据(~10000)
在Oracle Server上运行存储过程大约需要15秒,但是,当我尝试从.NET Core 2.0客户端获取数据时,需要1分钟:30秒。我正在使用Oracle.ManagedAccess.Core v2.19和动态参数Dapper
我不知道是什么原因造成了这次延误。我没有办法启用跟踪
OracleDynamicParameters param
存储过程中支持和反对业务逻辑的论点是什么 我属于这样一个学派,即只要业务逻辑:
住在一个地方
有适当记录的地方
通过可以松散耦合的服务提供适当的访问
通过已发布的抽象接口
我不在乎逻辑是否存在于存储过程、J2EE中间层、clips专家系统或其他任何地方。无论您将我们的业务逻辑存储在何处,“痛苦守恒定律”都将保证有人会说这是错误的想法,因为组件/存储库X需要替换为技术/方法Y。+:SQL server有时会优化代码
+:您被迫传递参数,这将限制SQL注入问题
-:您的代码依赖于单个数据库(某些
全部,
一般来说,我对存储过程非常陌生,但我特别是在Oracle中的存储过程方面遇到了困难。我已经创建了一个非常简单的示例来说明我正在尝试完成的任务,但在这个简化版本中,我仍然会遇到同样的错误
示例存储过程如下所示:
CREATE OR REPLACE PROCEDURE ashish_test
AUTHID CURRENT_USER IS
BEGIN
DECLARE
v_tab VARCHAR2(50);
v_strSQL VARCH
在LINQtoEntities中,我将存储过程的结果集映射到实体
在存储过程中,我执行一些update语句,通过运行SELECT查询并将结果集映射到实体来返回结果集
数据库行得到正确更新,但返回的实体没有反映更改。而是返回更新之前的数据
有什么建议吗
多谢各位。
Abe相关实体是否已缓存在上下文中?(即,您是否已经询问过他们?)
如果是这样,标识管理器将始终返回原始对象(而不是在同一上下文中创建具有相同标识的新对象)。因此,对于已经被(其他查询)读取的数据,只考虑标识/主键字段。实际上,Data
我在MS SQL 2008数据库的一个表中有一个包含3列的表
ID
ToolID
Count
有人能给我一个脚本来创建一个接受param ToolID并将其值增加1的存储过程吗
我所有的努力都失败了。试试:
CREATE PROCEDURE IncrementToolCount
(
@ToolID int
)
AS
SET NOCOUNT ON
UPDATE Tools_Usage SET [Count]=ISNULL([Count],0)+1 WHERE ToolID=@ToolI
将datawindow数据源作为过程应用时,将显示以下错误消息
我们使用的版本是PowerBuilder 11.5和Oracle 9i
我刚刚将PBDBMS.PUT_LINE()更改为REF游标
数据窗口向导
无法创建数据窗口
如何解决此问题?您使用的是哪种PB版本和哪种数据库接口?请为您的存储过程添加代码。谢谢您的消息。我写了一个ref游标并解决了它。问题是在写了ref cur之后,我没有检查PBDBMS包是否被启用或禁用。如果它被禁用,那么该过程将与this.hi、Im PB develop
我正在SQLServer2012中编写一个存储过程
突然,我的存储过程无法编译
它在我尝试添加的每一列上都显示无效列名
但是我可以运行查询,列就在那里
SELECT FirstName FROM dbo.Contacts
而且,我没有对代码做任何更改
我试图重新启动
我重新创建了这些列
我刷新了intelliSense缓存
没有运气
这是代码的一部分
DECLARE curContact Cursor
FOR SELECT dbo.Contacts.ContactID, dbo.Cont
我想知道是否有人知道如何解决我的一个主报告使用3个子报告时的速度慢问题,所有子报告都使用相同的存储过程,但每个子报告只使用一个不同于其他2个的sp参数。子报表基于同一存储过程,该存储过程要求6个变量。这3个子报告中的每一个子报告都在传递与其他子报告相同的6个参数中的5个。每个参数上只有一个参数不同
目前,这份报告需要相当长的时间才能完成。我认为,让同一个存储过程多次启动,而只使用一个不同的参数,并不是最有效的做法。这似乎是多余的。有没有办法优化此过程?您需要的是检查正在调用的存储过程的性能。即使
关于我的问题,
在SP中,我有一行代码
@countCrates = COUNT(DISTINCT ISNULL(countCratesAddress, 'EMPTY')) , @FirstCrateAddres = MIN(countCratesAddress)
不确定它在做什么或如何调试它。在SP中的某个位置,此变量被分配给某些值或选择“countCratesAddress”。
然后它被使用了
分项数字如下:
> @FirstCrateAddres = MIN(countCrate
我想我已经构建了最简单的场景。我只想把它传给每个人做一个精神检查。我的想法是:
GetErrorCodes.cfm执行以下操作:
<cfscript>
response = new ErrorCodes().WhereXXX(); // ACF or Railo, doesn't matter
</cfscript>
sproc.cfc:
component {
function exec(procedure) {
local.result = {};
在下面的存储过程中,我想返回标志列中没有DEL的行。当我返回结果时,将包括DEL行。我在我的WHERE子句中做错了什么(我假设它就是这样的)
我怀疑您需要一些额外的参数,以您想要的方式分割逻辑:
WHERE (sender_id = (SELECT person_id FROM auth_key WHERE key = @Key)
OR recipient_id = (SELECT person_id FROM auth_key WHERE key = @Key))
AND Flag != 'D
现在,下面的代码按employeeid分组
select
COUNT(employeelog.employeeid) as empVisit,
employeelog.employeeid as employeeID
into
#tempdr
from
Filteredps_employeelog as employeelog
where
employeelog.ps_employeetypename in (@employeevisit
我想创建一个类似以下简单示例的过程:
proc name {args} {
foreach val $args {
puts $val
}
}
但是我希望这个过程能够处理不存在的变量,比如下面的代码:
proc name {args} {
foreach val $args {
if [info exists $val] {
puts $val
}
}
}
问题是代码没有被执行,因为只
刚接触tSQLt世界(很棒的工具集),在设置测试的存储过程中遇到了一个小问题
如果出于某种原因,我有一个连接到多个数据库甚至多个SQL服务器(链接服务器)的存储过程
在这种情况下,可以用tSQLt进行单元测试吗?我已经发表了评论,但我想补充一些。正如我已经说过的,你可以做任何适合单一交易的事情
但对于您的情况,我建议为每个跨数据库/实例对象创建同义词,然后在任何地方使用同义词
我创建了以下函数来模拟视图/表同义词。它有一些限制,但至少可以处理简单的用例
CREATE PROCEDURE [tSQ
我有很多存储过程,每个存储过程都有自己的tsqlt测试类。在每个测试类中,大约5个测试对于所有存储过程都完全相同,并且大约5个测试对于存储过程是唯一的
有时我想更改一个“通用”测试,我必须在10个或更多文件中更改它,这是一个麻烦
是否有某种方法可以在单个文件中定义一组测试,然后从另一个测试类调用这些测试,以便在调用测试类正在测试的存储过程上运行这些测试?一种解决方案可能是创建一个TestHelpers类,将您的公共测试代码添加到此类中,但不使用“测试”前缀,以便tSQLt不会自动运行它们。这些过
我已经在Logi Analytics DevNet上发布了这个问题,但这是一个墓地,我希望我能在这里得到答案。我正在使用Logi Info v12.2.116
我正在使用存储过程获取数据以填充报表。存储过程调用一个RPG程序。我已经做过很多次了,但是今天当我创建一个新的存储过程、一个新的报告时,由于某种原因,参数不匹配。我也重新启动了Logi。。。有时,它在重新启动之前不会拾取新的存储过程,但这也不起作用。我以前从未见过这种错误:
设置或注册的参数值数量与参数数量不匹配
以下是我的参数代码:
&
我希望在我们的部署脚本(目前的powershell)中包含CLR存储过程部署,但是我无法找到一种自动完成这项工作的好方法
我原以为会有一个很好的命令行选项,可以像在VisualStudio中右键单击deploy一样执行此操作。好吧,PowerShell本身不会为您提供太多额外的帮助。您没有提到SQL的哪个版本,所以我将有点泛化
实际上,您所需要做的就是让脚本文件复制CLR存储过程所需的DLL—PowerShell可以像疯子一样复制文件,所以没有问题。然后需要在SQL中执行CREATEASSEMB
基本上,我希望对存储过程使用“nice”简洁的语法,而不必手动使用exec MySproc@p1、@p2、@p3、@p4等等,但我需要能够传入一个具有各种属性集的强类型对象,并使用该对象映射参数。我知道我可以用匿名对象实现这一点,但我想到的场景类似于一个复杂的搜索表单,其中可以搜索多个字段,相应的存储过程可以有相当多的参数(许多是默认值)
理想情况下,我希望能够做到以下几点:
var cust = new Customer();
cust.FirstName = ...
cust.LastNam
我试图在DB2中创建一个简单的存储过程,它执行以下操作:
删除表格“删除我”
创建表“删除我”
插入表“删除我”
基本上,如果表DELETE\u ME已经存在,则存储过程可以正常执行。如果不存在,则存储过程将失败,并出现以下错误:
Lookup Error - DB2 Database Error: ERROR [42704] [IBM][DB2/LINUXX8664] SQL0204N "SARTS02T.DELETE_ME" is an undefined name.
我完全理解这一点。
我得到了错误代码:
SQLCODE=-304,SQLSTATE=22003
DEC/DECIMAL数据类型与假设的不同。数据类型信息可以在DB2手册中的以下位置找到:
十进制(精度整数,比例整数)或十进制(精度整数,比例整数)
对于十进制数。第一个整数是数字的精度,即总位数,范围为1到31。第二个整数是数字的刻度,即小数点右侧的位数,范围为0到数字的精度。
如果未指定精度和小数位数,则使用默认值5,0。NUMERIC和NUM可以用作DECIMAL和DEC的同义词。“
因此,在您的情况下,要保留百
我创建了一个BizTalk应用程序,它包含两个业务流程,每个业务流程对应于作为SOAP服务公开的方法。每个方法在SQL Server中运行特定的存储过程并返回结果。它在开发和测试中都运行良好,但当我投入生产时,我遇到了一个困难。在我们的测试环境中,存储过程的所有权是DBO。但在生产中,情况并非如此。是[味精]。所以这个过程是[database].[msg].[stored_procedure],而不是[database].[dbo].[stored_procedure],所以我得到了一个错误
我
这里我想从表中获取一些结果,因为我有如下所示的writer Sp
create proc GetData
(
@tableName nvarchar(max),
@groupLetter nvarchar(max)
)
as
begin
EXEC('Select * from ' + @tablename + 'where LastName LIKE'''+'%'+@groupLetter+'%'+'''ORDER BY LastName')
end
我向该SP传递表名和文本以查找结
我正在用红移处理存储过程。我看到,当传递给存储过程中Execute语句的参数为NULL时。它失败,无法执行空字符串
请告诉我如何解决这个问题
存储过程:
CREATE OR REPLACE PROCEDURE outer_proc() LANGUAGE plpgsql
AS $$
DECLARE
cond_holder RECORD;
iter RECORD;
BEGIN
drop table if exists tmp_direction_comms;
create tempora
上一页 1 2 3 4 5 6 ...
下一页 最后一页 共 38 页