При создании таблицы «Command» в кристалле, вы даете кристалл набор текста, отправьте на сервер SQL, а Crystal ожидает набор данных в ответ. Все между ними выполняется на сервере SQL. Crystal проверяет команду, отправляя ее на SQL-сервер, когда вы вводите ее, чтобы узнать, работает ли она.
Учитывая, что ваша временная таблица фактически создана на сервере SQL. Кроме того, когда вы создаете временную таблицу, она удаляется после завершения выполнения команды.
В результате, если вы используете только этот код, SQL-сервер создаст таблицу, но нет набора данных для возврата. Он преуспевает, поэтому не возвращает ошибку, но также не возвращает данные, поэтому сообщение: «Нет сообщения об ошибке с сервера».
Для вашего следующего шага я предложил бы использовать такой код:
CREATE TABLE #temp_test (col1 VARCHAR(5))
SELECT * FROM #temp_test
Это создаст пустой набор данных для возврата в кристалл, так что он получает ответ он нуждается. Я говорю это так, чтобы вы не думали, что что-то не так, когда вы ничего не видите. Вам нужно будет вставить данные в таблицу temp, чтобы получить ее из оператора select для визуального подтверждения.
Я также предлагаю вам не использовать временную таблицу, если вы не определите, что вы делаете или на самом деле нуждаетесь в ней в рамках этой команды. Например, вам может потребоваться один для повышения производительности для особо сложного запроса или CTE, поэтому он может увеличить производительность, чтобы использовать временную таблицу. Но я сначала создаю этот запрос и буду беспокоиться об оптимизации после того, как по крайней мере некоторые из них будут разработаны.
Вы создаете временную таблицу в отчетах о кристаллах или в базе данных? – Siva
Привет @Siva, пытаясь сделать это на CR –