当使用Spring和Hibernate时,有哪些选项可用于编写与连接的查询。
例如,我想生成如下所述的查询:
CASE 1: SELECT * FROM getfoo(1) AS t1;
CASE 2: SELECT * FROM getfoo(1) x INNER JOIN tbl1 y on x.id = y.id;
编辑来详细说明,我正在为CRUD的所有事情使用Spring数据(它工作得很好)。但是,我需要编写复杂的查询,将表与“表函数”连接起来。表函数(AKA表值用户定义函数)是返回表-值的数据库函数,可以在JOIN子句中与表结合使用。Postgresql和Server支持它们。
在
请帮我解决这个问题。我在springboot中有一个非常简单的crud项目,在oracle DB中有一个学生表(ID、姓名、年龄、电子邮件),我想知道的就是在jpa存储库中获取一个具有调用存储过程的方法的学生。当运行项目时,我得到了一个错误,PLS-00221不是一个程序或未定义。 --stored procedure
CREATE OR REPLACE FUNCTION
findstudentbyid
RETURN STUDENT%ROWTYPE
IS
estudiante STUDENT%ROWTYPE;
BEGIN
SELECT *
INTO estudiante
我想使用Spring Data JPA和Hibernate执行一个简单的H2数据库存储过程。
存储过程类:
public class H2StoredProcedures {
public static String stringIn(final String inValue) {
log.info("stringIn: '{}'", inValue);
return inValue + "_result";
}
}
存储过程别名:
DROP ALIAS IF EXISTS STRING_IN;
C
我在调用存储过程时遇到问题 create or replace PROCEDURE TProc1
(i_cob_date IN DATE,
i_location IN VARCHAR2,
o_ret OUT VARCHAR2
)
AS
BEGIN
--logic to update a table based on i_cob_date
我使用SpringDataJPA1.10.2和com.microsoft.sqlserver的sqljdbc4.2。我得到以下错误:
o.h.engine.jdbc.spi.SqlExceptionHelper : Error preparing CallableStatement [User.pTest]
com.microsoft.sqlserver.jdbc.SQLServerException: The index 4 is out of range.
我的实体类是:
@Entity
@NamedStoredProcedureQuery(name = "User.getU
我正在使用jpa和hibernate的mySql和jee应用程序。
我有一个存储过程,它从db1的表中删除数据,然后从db2的表中选择数据,并将它们插入到db1的表中
CREATE PROCEDURE `update_data`(myId int(11))
BEGIN
DELETE FROM db1.tbl1
WHERE db1.tbl1.id = myId;
INSERT INTO
db1.tbl1
SELECT * FROM
db2.tbl1
WHERE db2.tbl1.id = myId;
END
在sql中调用成功,在jpa中
我正在调用一个具有许多可选参数的第三方存储过程。它位于2008 R2中,如下所示:
procedure [dbo].[pTest]
@ReportDate varbinary(max) out,
@Optional1 varchar(max) = null,
@Optional2 varbinary(max) = null,
@Date varchar(max) = null,
-- ~20 more optional params of various types
as
begin
select * from test
end
我使用SpringD
我正在编写一个核心.NET项目,并有一个关于我的模型中没有映射属性的问题
这是我的模型
public class Category
{
[Key]
public SqlHierarchyId NodeId { get; set; }
[Required, MaxLength(200)]
public string Name { get; set; }
[Required]
public int CategoryId { get; set; }
[NotMapped]
我试图调用一个其签名如下所示的存储过程:
CREATE OR REPLACE PROCEDURE FIND_FIRST_BOOKMARK_GT(bookmark IN NUMBER, cur OUT SYS_REFCURSOR)
我正在使用Spring,并尝试了许多不同的变体,但它们都或多或少遵循了下面的模式。我的实体模型装饰如下:
@NamedStoredProcedureQuery(name = "Response.findFirstBookmarkGreaterThan", procedureName = "FIND_FIRST_BOOKMARK_GT",
我试图通过将查询结果传递给我的参数来获取存储过程的结果。
ALTER PROCEDURE [DWH].[spAMBSiteAssetCountReport]
@Areaname, @SiteType, @EquipmentClass, @AssetStatus
@MaintenanceLocation varchar(Max),
@FLClassDescription varchar(max),
@EquipmentClass varchar(max),
@AssetStatus varchar(max)
As
Begin
SET NOCOUN
我在我的PostgreSQL DB中创建了一个函数,我想使用JPA2.1的StoredProcedureQuery方法调用它。
下面是我的PostgreSQL查询:
CREATE OR REPLACE FUNCTION get_values(date text) returns refcursor
AS $$
DECLARE tuples refcursor;
BEGIN OPEN tuples FOR
SELECT user, COUNT(*)
FROM my_table
WHERE date_ = date
我正在尝试调用一个返回输出游标usign JPA的oracle存储过程,如下所示
create or replace PROCEDURE stored_proc(ret_cursor OUT sys_refcursor, inputParam IN NUMBER)
-- body
END stored_proc;
@Entity
@NamedNativeQuery(name = "callStoredProc",
resultClass = Result.class,
query = "{call s
感谢您的建议。
我们尝试通过odbc连接将数据从as400 iSeries数据库加载到mssql中。从数据工具ok到load..但是部署的包遇到了这个问题..
我没有机会通过谷歌搜索错误消息来获得解决方案。
消息1:加载SIBS数据:错误:在任务验证期间出现错误。
消息2:加载SIBS数据:错误: SIBS验证失败,返回错误代码0xC0048021。
消息3:加载SIBS数据:错误:一个或多个组件未通过验证。
消息4:加载SIBS数据:错误:组件丢失、未注册、不可升级或缺少必需的接口。此组件的联系信息是"ODBC Source;Connector for Open Database C
最近,我创建了一个Azure Sql数据库实例,将EF数据模型部署到其中。数据库有一个分配给它的系统指定的托管标识,它是db_datareader和db_datawriter内置角色的成员。我应该能够读/写任何表格或视图。
不过,当我尝试向其中插入数据时,我仍然会得到以下错误。表不在dbo架构中,而是有一个单独的表。
ExType= Microsoft.Data.SqlClient.SqlException; Ex= Cannot find the object "<TABLE_NAME>" because it does not exist or you do n
我试图在这里使用这个查询- :
with filled_dates as (
select day, 0 as blank_count from
generate_series('2014-01-01 00:00'::timestamptz, current_date::timestamptz, '1 day')
as day
),
signup_counts as (
select date_trunc('day', created_at) as day, count(*) as signups
from
在使用sqlplus调用时,我有以下步骤:
SQL> exec test_proc('test_search', :varcursor);
工作得很好,给出了预期的结果(表中的ids列表)。
CREATE OR REPLACE PROCEDURE test_proc
(search_term IN varchar2,
c1 OUT SYS_REFCURSOR)
AS
BEGIN
OPEN c1 for
select test.id
from test_table t
WHERE JSON_TEXTCONTA