A rough path, but when necessary for some reason:
A two-step solution in which we first create a query text to create a view:
SELECT "CREATE TEMP VIEW my_view_1 AS SELECT " || (
SELECT
group_concat(name, ', ')
FROM
pragma_table_info('my_table')
WHERE
name != 'id') ||
" FROM my_table";
Then run the result to create the view.
It should give something like:
CREATE TEMP VIEW test1 AS SELECT all, but, id, ... FROM my_table;
One line for easy copying:
SELECT "CREATE TEMP VIEW my_view_1 AS SELECT " || (SELECT group_concat(name, ', ') FROM pragma_table_info('my_table') WHERE name != 'id') || " FROM my_table";
source
share