假设我有一个数据结构,例如
d dog DS qualified
d name 20
d breed 20
d birthdate 8 0
Run Code Online (Sandbox Code Playgroud)
然后我可以定义
d poochie likeds(dog)
Run Code Online (Sandbox Code Playgroud)
并使用poochie.name等
但是,我可以将"狗"设置为模板,而无需在内存中创建结构吗?
我将大约350行(带有一些数据收集)从MS SQL Server传输到iSeries进行处理.我觉得这个过程太慢了,差不多一分钟左右.我在做LINQ2SQL中的所有MS SQL.以下是我目前正在做的基础知识:
我意识到这是很多查询,但大多数都是来自MS SQL Server中的不同表.所有这些都需要至少一次加入.我正在考虑将一个查询和外部维修和事故成本中的油和零件加入到一个查询中,因为这两个查询都存储在同一个表中,看看是否能提高性能.
你有什么其他的建议?
请注意,这是供应商提供的产品,我宁愿不创建任何尚未存在于数据库中的存储过程或视图(基本上没有).
更新:我有另一篇文章,研究提高速度的替代方案.
我正在尝试帮助朋友解决与AS/400的连接问题.他想对AS/400运行一个总是返回记录的查询(类似于针对MSSQL 的SELECT 1).
他试图运行SELECT 1但没有运气......我假设AS/400需要一个FROM TableName ...
有人可以提供帮助吗?是否存在一个始终存在的系统表/文件,他可以运行SELECT TOP 1(或它的等价物)?我从未与AS/400进行过互动,所以我有点偏离了我的元素......我希望能给我一个快速回答......
提前致谢!
我很难让我的DB2(AS/400)查询不区分大小写.
例如:
SELECT *
FROM NameTable
WHERE LastName = 'smith'
Run Code Online (Sandbox Code Playgroud)
将不返回任何结果,但以下返回1000的结果:
SELECT *
FROM NameTable
WHERE LastName = 'Smith'
Run Code Online (Sandbox Code Playgroud)
我已经读过将SortSequence/SortType放入你的连接字符串但是没有运气......有人对此有所了解吗?
编辑:
这是存储过程:
BEGIN
DECLARE CR CURSOR FOR
SELECT T . ID ,
T . LASTNAME ,
T . FIRSTNAME ,
T . MIDDLENAME ,
T . STREETNAME || ' ' || T . ADDRESS2 || ' ' || T . CITY || ' ' || T . STATE || ' ' || T . ZIPCODE AS ADDRESS ,
T . …Run Code Online (Sandbox Code Playgroud) 有没有简单的方法可以在RPGLE中直接返回字符长度和类型变量?我在这里讨论的长度不是D规格中规定的长度.我在谈论字符串中有意义的字符的实际数量.假设一个字符类型变量被定义为50个字符长,并且它被赋值为'Hello world!',那么我想要的长度是12,即从'H'到'!'.前导和尾随空白被忽略.有没有简单的方法来做到这一点?
我正在尝试整理一个表格,该表格将采用完整日期,YYYY-MM-DD,仅提取月份信息,然后将这些月份组合为单独的行.
我已经尝试使用MONTH(DATE)命令,使用Group by和Order By命令,我得到了表中列出的4年的返回月份.我给出48行,列出1-12,重复4次.我希望按顺序获得1到1的回报.
这是我到目前为止的代码.
select MONTH(DATE) As "Month"
from DW******.SL****
Group By DATE
Order by DATE
Run Code Online (Sandbox Code Playgroud)
刚开始使用SQL,所以我为这个简单的问题道歉.
如果有人可以请你帮忙.这是我的Db和我将要使用,CONVERT但这不适用于我们的服务器.
在这里使用DB2讨论iSeries上的文件中的数据.
文件结构如下:
Item Textline Text
12755 1 this item
12755 2 is no longer
12755 3 for sale
abc123 1 please use
abc123 2 another code
xyz987 1 obsolete
Run Code Online (Sandbox Code Playgroud)
我试图得到的结果是
Item Text
12755 this item is no longer for sale
abc123 please use another code
xyz987 obsolete
Run Code Online (Sandbox Code Playgroud)
所以它按项目代码分组,文本行加起来,无论有多少.
我首先在查询中尝试将文件连接到自身5次(可能有多达5个文本行),但我永远无法让它工作.
我在SQL中尝试了它,但是我无法获得与famileir一起使用的命令以正确使用文本并且我在标准上挣扎将它们添加到一起而不重复文本行.
任何想法的人?
我最后的办法是将这个文件提取5次,每个文件只包含一个不同的文本行,然后根据项目和连接方式将它们全部重新匹配...但是哇多么麻烦:)
请帮忙 :)
PROCEDURE DIVISION
MAINPARA
DISPLAY "HELLO MAIN".
GO TO PARA1.
DISPLAY " SECOND DISPLAY".
STOP RUN.
PARA1.
DISPLAY " I AM IN PARA1".
PARA2.
DISPLAY "I AM IN PARA2"
....
PARA200
Run Code Online (Sandbox Code Playgroud)
我对流程了解不多.但是,我很困惑.当控制跳转到时GO TO PARA1,它将执行PARA1.
现在我的问题是:
PARA2并返回MAINPARA吗?PARA2程序结束时执行?我不是一个COBOL程序员,我需要从一个迁移工具/程序,AMXW COBOL理解的代码.目标系统是IBM AS/400.
我试图在AS400中运行包含if-else语句的SQL,但它不起作用.我正在使用i Series Navigator创建一个View以运行它.
SELECT IF FIELD1 IS NOT NULL THEN 'AAA' ELSE 'BBB' END IF
FROM LIB.TABLE1
Run Code Online (Sandbox Code Playgroud)
我得到的错误是:
SQL State: 42601
Vendor Code: -199
Message: [SQL0199] Keyword IS not expected. Valid tokens: , FROM INTO. Cause . .
Run Code Online (Sandbox Code Playgroud)
我尝试没有写作是null但相反
SELECT IF FIELD1 ='' THEN 'AAA' ELSE 'BBB' END IF
FROM LIB.TABLE1
Run Code Online (Sandbox Code Playgroud)
然后我收到以下错误:
SQL State: 42601
Vendor Code: -104
Message: [SQL0104] Token = was not valid. Valid tokens: , FROM INTO. Cause . . . . . : A syntax error …Run Code Online (Sandbox Code Playgroud) ibm-midrange ×10
sql ×4
db2 ×2
rpgle ×2
c# ×1
cobol ×1
db2-400 ×1
linq-to-sql ×1
performance ×1
view ×1