The first and we ought to do is correct your DDL. Identity is a table property and not a column, and by definition can never be a key in a logical model. The rest of your column names are incomplete; the start and end dates of what? The postfixes "_status" and "_id" are what ISO 11179 and the metadata committee call attribute properties. Think of them as adjectives on a noun. So you got a list of adjectives with no noun. A key by definition cannot be null, so in your original schema, there's no way to have a valid relational key. There is no attempt to keep any kind of data integrity in your posting. That's why we have datatypes and check constraints.
Here's a quick correction on what you posted. Remember that 80 to 90% of the work in SQL is done in the DDL.
CREATE TABLE RailCar_Cycles -- plural name to show it is a set
(railcar_id CHAR(30) NOT NULL,
cycle_start_date DATE NOT NULL,
CHECK (cycle_start_date<= cycle_end_date)
foobar_status CHAR(1) NOT NULL
CHECK (foobar_status IN ('1', ???),
PRIMARY KEY (railcar_id, cycle_start_date, cycle_end_date)
INSERT INTO RailCar_Cycles
VALUES ('TILX333975', '2019-08-01', '2019-09-08','1');
As a historic note, I see you put a comma in the front of each "card image" and your insertion statements. This is exactly how we formatted our punch card decks back in the 1960s because it made it easy to rearrange the deck and insert a new card. For the last few decades, however, programmers had software that pretty print program text when we push a button. The leading comma is a really bad idea for readability. I see you also forgot to put quote marks around dates and strings. Is there any reason you used in NCHAR for the railcar identifiers? Do you have a lot of Chinese characters in those names? As I remember the ISO standards the industry identifiers for virtually everything consist of a subset of Unicode characters with the Latin alphabet digits and a few punctuation marks. The reason for limiting thousands of industry identifiers to this subset of symbols was so that any alphabet or other writing system covered by Unicode would be able to write them. In particular, units of measure in the metric system were targeted. You also don't like using the; at the end of statements. That's another old-time Sybase convention that is being replaced with components to ANSI/ISO standard SQL requirements by Microsoft.
Going back and forth between "load_date" and the ("start_date", "end_date") interval pairs in your posting is confusing. Can you clarify what you want to be done?
Please post DDL and follow ANSI/ISO standards when asking for help.