Hi,
In my previous articles, one of the most exciting things about FHIR that I mentioned it's the wide range of possibilities that we have and not only for creating something but the ways to achieve this goal.
SQL is a standard language for storing, manipulating and retrieving data in relational databases.
Hi,
In my previous articles, one of the most exciting things about FHIR that I mentioned it's the wide range of possibilities that we have and not only for creating something but the ways to achieve this goal.
I try to compare classic JOIN against implicit JOIN.
It is a simple case. But I am surprised.
The class:
Class Sample.Person1 Extends (%Persistent, %Populate)
{ Property Name As %String;
Property Home As Sample.Address;
Property AR As array Of Sample.Address; }
Query #1 - classic:
select name,home_state,a.* from sample.person1 p
join sample.person1_AR a on p.Id=a.person1
and home_state=AR_state
Query #2 - implicit
select person1->name,person1->home_state,*
from sample.person1_AR where person1->home_state=AR_state
for both I have the same query plan:
Hi,
As part of our continuous efforts to expand and improve the InterSystems IRIS Data Platform, we’ve set up a brief survey around SQL monitoring. Your feedback will help us in designing and developing the right tools for the job and improve the platform’s overall ease-of-use. Please use the link below to access the survey, which should only take around 5 minutes to complete.
Hi:
I have an sql outbound adapter. Sometimes we have trouble connecting to the database.
The timeout in develpment is set to 15 seconds in live it is 150 seconds as it is an always connected Buisness operation.
I thought adding E=S or/and X=S would suspend the message. Why does it not?
Is the only way around then adding something to the buisness operation itself/ creating a customised SQL buisness operation rather than EnsLib.SQL.OutboundAdapter?
Thanks
Mark
Hi, I want to INSERT a customerID and customerName to a table if the customerID does not exist. Or UPDATE if they've changed their name.
I've reviewed the documentation (https://docs.intersystems.com/irislatest/csp/docbook/Doc.View.cls?KEY=R…) and have confused myself with the INSERT OR UPDATE statement. Rather than using two individual statements , is there a way to get it in one?
What I have at the moment doesn't do anything. In fact it errors.
I intend to use this within a code block in a DTL.
Does anyone know if there is a table or query to get the Application Error Log (^ERRORS) by SQL?
cache 2017.2 windows 10
Is there any way to change the sql Shell interface to output a <TAB> between the fields instead of outputting one or more spaces between columns
I needed to run an sql ( that took a while to run) and then cut and paste the generated output into excel, trouble was the paste into excel was not very good for columns when there's spaces used between the columns
kev
I'm trying to get a count of specific message type with a specific entry and thought I could build the query in Message Viewer but this does not provide counts (as far as I am aware). So when I take the SQL from 'Show Query' it omits the segment criteria as the code shows below.
I have attached the criteria that has been excluded. Is this possible?
Thank you
What is the sql command to describe table in cache db.
Hello, I am running into a little problem.
I am trying to create a Cache Trigger on a FACS table using the SQL CREATE TRIGGER command but I am getting the message [SQLCODE: <-300>:<DDL not allowed on this table definition>].
I am not creating a persistent class but using the SQL CREATE TRIGGER command.
Please advise.
thanks.
Hi,
I get this error [Cache ODBC][State : HYC00][Native Code 469] and zero rows returned with the following query.
SELECT "Timestamp","Skillset" FROM "dbo"."iSkillsetStat"
WHERE (Timestamp >= '2020-06-29 00:00:00'
AND Timestamp < '2020-06-30 00:00:00')
I'm using Qlik Attunity Replicate to extract data, the query was formatted by the tool. The query will return data in excel and SSIS, but not using Replicate.
So far I've tried using two ODBC drivers
-----------------------------------------------------
Let's say we have two serial classes, one as a property of another:
Class test.Serial Extends %SerialObject
{
Property Serial2 As test.Serial2;
}
Class test.Serial2 Extends %SerialObject
{
Property Property As %String;
}And a persistent class, that has a property of test.Serial type:
Class test.Persistent Extends %Persistent
{
Property Datatype As %String;
Property Serial As test.Serial;
}So it's a serial, inside a serial, inside a persistent object.
I got a resultset, and some columns might be a JSON_OBJECT. Is there a way (based on metadata) to determine that the column was formed from JSON_OBJECT function?
set rs = ##class(%SQL.Statement).%ExecDirect(,"SELECT 1 colA, JSON_OBJECT('id':1) col2")
do rs.%Display()I do not want to try parsing json.
Hi,
Could someone help me in identifying all characters in a column is whole number 0 or greater
CASE WHEN '123' %MATCHES '[0-9]*' then 'VALID' else 'INVALID' end
The above statement is finding only for first character.
Thanks
Hi Developers,
Please welcome the new video, specially recorded by @Zhong Li for the InterSystems IRIS AI Programming Contest:
Is there any way to execute many SQL commands at once as an (anonymous)block?
for example in PostgreSQL there is
DO $$
BEGIN
--here is Inserts/Updates/Deletes
END $$Or in Oracle
BEGIN
END; Thanks for the answers!
Hi Community!
Enjoy watching the new video on InterSystems Developers YouTube and learn more about IntegratedML feature:
Hi:
We added a column to a table as follows
Property SentTime As Ens.DataType.UTC;
And the code to populate this
if pStatus = "SENT" //set SentTime which is used in the Tableau Report
{
Set doc.SentTime = $$$timeUTC
}
For Historical records of type "Rejected" the Sent time is appearing though as 1840-12-31 00:00:00, we don't know why. Current docs work fine with this column just historical seems to display the default instead of blank/null.
Hi, I have a timestamp of 201906192359 with a HL7 and I need to add a minute to it to get 201906200000. Is there an easy way within Healthshare to do this?
It seems easy enough within SQL but I cannot get the SQL to work within Healthshare, this is what I have for SQL which does the job in SQL Server.
SELECT REPLACE(REPLACE(REPLACE(CONVERT(CHAR(16),DATEADD(mi,1,STUFF(STUFF(@test,11,0,':'),9,0,' ')),120),'-',''),' ',''),':','');
Within Healthshare I've tried to use this SQL to populate a :dateout variable using this code but it isn't updating :dateout. (datein: = 201906192359)
Hi
Since IRIS 2020.1, changed the way how embedded SQL compiled. Now it compiles upon the first execution of such queries.
Is there any way, I could switch that feature back to the previous behavior, or get some more control over it?
We deliver our software as deployed, and we would like to have it well prepared. Another solution would suit us, if we could change the generated classname of the cached query to something which we would be possible to map. At the moment it generates classes %sqlcq.NAMESPACE, but our customers may use different namespaces.
I want to insert multiple records in the table using below queries, but it gives an error.
Hello,
In the DTL, is there a way to set a value for the HL7 data element in the code section?
For example,
set target.SetValueAt("PID:3(k1).1)") = mrn (mrn is the value returned from the SQL query)
When I ran the test utility, I got this error message.
ERROR ErrException: zTransform+27^testclass.TEST.1 *SetValueAt,EnsLib.HL7.Message -- logged as '-' number - @' set target.SetValueAt("PID:3(k1).1)") = mrn'
I tried both target.SetValueAt("PID:3(k1).1)") and target.GetValueAt("PID:3(k1).1)"). That didn’t make a difference. The code still error out.
Thank you in advance for
After all these years of doing basic Ensemble work, I am just beginning to venture into using Cache Tables instead of either Data Lookup tables, or what I know of Outside SQL tables using JDBC. I have several Cache SQL tables that I am building for a project I am working on.
Hey I would like to INSERT mulitple rows to 1 table. I need to intersystems cache equivelant for
INSERT INTO table_name (column_list)
VALUES
(value_list_1),
(value_list_2),
(value_list_3);
Have tried this post https://community.intersystems.com/post/how-execute-multiple-query-or-script-sql-management-studio
but still got an error
Hello,
I work as a contractor for the Department of Veterans Affairs. I want to read data from an Excel workbook. I searched posts here and saw Apache POI suggested. I believe Apache POI is not approved for use within VA. I also believe we should be able to run SQL query against Excel. Has anybody done such a thing or are there other ways to read data from Excel workbooks?
Thanks
In the first article in this series, we looked at the entity–attribute–value (EAV) model in relational databases, and took a look at the pros and cons of storing those entities, attributes and values in tables. We learned that, despite the benefits of this approach in terms of flexibility, there are some real disadvantages, in particular a basic mismatch between the logical structure of the data and its physical storage, which causes various difficulties.
Haven't found this in the documentation. I want:
&sql(SELECT name INTO :var FROM :table)Is it possible?
The Caché System Management Portal includes a robust web-based SQL query tool, but for some applications it’s more convenient to use a dedicated SQL client installed on a user’s PC.
SQuirreL SQL is a well known open source SQL client built in Java, which uses JDBC to connect to a DBMS. As such, we can configure SQuirreL to connect to Caché using the Caché JDBC driver.
Hi!
Is there a method in a persistent class that can return the current number of records/persistent objects in it?